当前位置: 首页 > news >正文

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!

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

相关文章:

  • 20165307 实验四《Andriid应用开发》实验报告
  • 使用 php Header 报错的一个原因
  • 【IOS】仿捕鱼达人的金币滚动显示
  • 谷歌 AXURE RP EXTENSION拓展问题
  • Android 滑动效果入门篇(二)—— Gallery
  • 大型网站典型故障案例分析
  • 在C#中派生C++的抽象类
  • Eureka-服务注册与发现组件
  • GameEntityComponent
  • mysql5.7.22安装步骤
  • Android 滑动效果基础篇(三)—— Gallery仿图像集浏览
  • 笔试之const问题
  • 【IOS】《捕鱼达人》的简单实现(一)
  • 2018.5.23 创建用户并授权序列
  • MFC双缓冲 防止闪屏
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • C# 免费离线人脸识别 2.0 Demo
  • canvas 绘制双线技巧
  • magento 货币换算
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • nginx 负载服务器优化
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 给github项目添加CI badge
  • 强力优化Rancher k8s中国区的使用体验
  • 说说动画卡顿的解决方案
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # .NET Framework中使用命名管道进行进程间通信
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #1014 : Trie树
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (day6) 319. 灯泡开关
  • (Git) gitignore基础使用
  • (二)丶RabbitMQ的六大核心
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (黑马C++)L06 重载与继承
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat批处理(一):@echo off
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net 反编译_.net反编译的相关问题
  • .net流程开发平台的一些难点(1)
  • .NET学习全景图
  • @selector(..)警告提示
  • []常用AT命令解释()