我自己的步驟如下:
- 下載log4net解壓縮,複製bin\netcf裡dll檔案到專案。在專案加入 Reference: log4net.dll
- 設定log4net設定檔
重要: -
- Net CF的log4net設定檔不支援中文註解
- 一定要包含在<configuration>...</configuration>
- 引入using
using log4net; - 在程式一開始的地方去解析 log4net 的 configuration.
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("logconfig.xml")); - 接著在你想要進行 log 的類別宣告這一個屬性.
protected static readonly ILog log = LogManager.GetLogger(typeof( your_class_name )); - 使用時Debug < Info < Warn < Error < Fatal
log.Info( "your message here." ); - 可以利用 log4net.Repository.ILoggerRepository r = LogManager.GetRepository();去看 r.Configured 屬性,如果是 false,表示沒設定到。
不使用設定檔的方式,上述步驟略過2、5,在6之後加入以下設定程式
log4net.Appender.RollingFileAppender a = new log4net.Appender.RollingFileAppender();
a.Name = "RollingFileAppender";
a.File = "log.txt";
a.AppendToFile = true;
a.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Size;
a.MaxSizeRollBackups = 3;
a.MaximumFileSize = "1KB";
a.StaticLogFileName = true;
a.Layout = new log4net.Layout.PatternLayout(@"{%level}%date{MM/dd HH:mm:ss} - %message%newline");
a.ActivateOptions();
a.Threshold = log4net.Core.Level.Debug;
log4net.Config.BasicConfigurator.Configure(a);
Reference:
在 multi-thread 的環境當中使用 log4net
log4net (史帝芬心得筆記)
log4net-configuration-for-rockin-loggin-part-2
沒有留言:
張貼留言