log4net 在.net CompactFramework 2.0中的使用

本文详细介绍了如何在.net compact framework环境下安装并配置log4net库,包括引用库、初始化配置及日志记录的实现。同时,解释了不同设置在.netcf下的适用性,并提供了关键配置文件log4net.Config的具体内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值