log4net 在.net CompactFramework 2.0中的使用

1.首先下载log4net,截止到目前最新版本1.2.11。本例是以log4net 1.2.11为准。

2.在net CompactFramework的项目中添加log4net-1.2.11-bin-newkey\log4net-1.2.11\bin\netcf\2.0\release\log4net.dll的引用

3.在项目的起始处,添加如下代码。

static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[MTAThread]
static void Main()
{
StringBuilder sbzzm = new StringBuilder();
string apppath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
apppath = Path.GetDirectoryName(apppath);
sbzzm.Append(Path.Combine(apppath, "log4net.Config")); //.net cf不支持 assembly的方式

apppath = sbzzm.ToString();

if (File.Exists(apppath))
{
log4net.Config.XmlConfigurator.Configure(new FileInfo(apppath));
}

sbzzm = null;


Application.Run(new frmMain());

log4net.LogManager.Shutdown();
}
}


4.在需要的地方声明

private static readonly ILog log = LogManager.GetLogger(typeof(frmMain));


log.Info("ddd");


在.net cf下使用有些设置不能用。


5.log4net.Config文件的内容

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="SysAppender" />
</root>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="\硬盘\OAWLog\logs" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="30" />
<param name="MaximumFileSize" value="1MB" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="'_'yyyy-MM-dd'.txt'" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%exception] - %message%newline" />
</layout>
</appender>
</log4net>
</configuration>

此处需要说明的地方:RollingStyle,在.net下可以使用RollingMode,在.net cf下不能使用。看了代码看到RollingStyle,试试ok!

配置是以日期为准,每天生成一个日志文件。

你可能感兴趣的:(framework)