私は3種類のアプリケーションを持っています。私は3つのアプリケーションの間で共有される共有ライブラリにlog4netを持っています。 3つのすべてのサービスに同じロガーを使用することは悪い習慣ですか? 私は私がこの異なるアプリケーションに同じロガーを使用するのは悪いですか
myContainer.RegisterType<ILog>
(
new ContainerControlledLifetimeManager(),
new InjectionFactory(x => LogManager.GetLogger("Application 1"))
);
のように注入していますそして、私のコードで私も
_logger = myContainer.Resolve<log4net.ILog>();
Log4netLogger logMessage= new Log4netLogger(_logger);
logMessage.Write
(
log4net.Core.Level.Info,
logMessage
);
私のような使用しています。この
public class Log4netLogger
{
private ILog _logger = null;
public Log4netLogger(ILog logger)
{
_logger = logger;
}
public void write(Level logLevel, string message)
{
_logger.Logger.Log(_logger.GetType(),logLevel,message,null);
}
}
のように、私のアプリケーションの1 app_startで何か書かれていますこのアプローチでは、3つのアプリケーションすべてにlog4netをインストールしていると思います。だから私は何か間違っているのか、もっと良いアプローチがあるのだろうかと思っています。
ええ、私は念頭に置いていましたが、書き込みメソッドにログレベルを指定するには、呼び出し元アプリケーションにlog4net – Vivekh