`

log4net的初使用

阅读更多

最近在写一些C#的程序,想找一个记录日志的软件,当然会想起在java中大名鼎鼎的log4j,查了一下还真的发现有.net版的,就上网找了一些资料学了一下,把它用起来再说,用法很简单,只要把Log4Net.dll加入工程中,然后在App.config添加如下配置文件:

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3     <configSections>
 4         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
 5     </configSections>
 6     <log4net>
 7         <!--定义输出到文件中-->
 8         <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
 9             <!--定义文件存放位置-->
10             <file value="log.log" />
11             <layout type="log4net.Layout.PatternLayout">
12                 <!--每条日志末尾的文字说明-->
13                 <footer value="[Footer]--Test By Ring1981  " />
14                 <!--输出格式
15                     每种转换符号都以%开始,后面跟着一个格式符号和换符号。
16                     %-数字 :该项的最小长度,小于最小长度的用空格填充
17                     %m(message):输出的日志消息
18                     %n(new line):换行 
19                     %d(datetime):输出当前语句运行的时刻 
20                     %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 
21                     %t(thread id):当前语句所在的线程ID 
22                     %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 
23                     %c(class):当前日志对象的名称,
24                     %L(line ):输出语句所在的行号 
25                     %F(file name):输出语句所在的文件名
26                     %logger 日志名称
27                 -->
28                 <conversionPattern value="时间:%date [线程:%thread] %-5level  [类:%c][%L行]%n    %-5level:%message%newline" />
29             </layout>
30         </appender>
31         <!--定义输出到控制台命令行中-->
32         <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
33             <layout type="log4net.Layout.PatternLayout">
34                 <!--conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /-->
35                 <conversionPattern value="时间:%date [线程:%thread] %-5level  [类:%c][%L行]%n    %-5level:%message%newline" />
36             </layout>
37         </appender>
38         <!--定义输出到windows事件中-->
39         <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
40             <layout type="log4net.Layout.PatternLayout">
41                 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
42             </layout>
43         </appender>
44         <!--RollingFileAppender是输出源也是输出到文件中,只是以自增长的方式-->
45         <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
46             <param name="File" value="log/system_log_"/>
47             <!--是否覆盖-->
48             <param name="AppendToFile" value="true"/>
49             <!--设置无限备份=-1 ,最大备份数为1000-->
50             <param name="MaxSizeRollBackups" value="100"/>
51             <!--每个文件的最大20k-->
52             <param name="MaximumFileSize" value="1KB"/>
53             <!--名称是否可以更改 为false为可以更改-->
54             <param name="StaticLogFileName" value="false"/>
55             <!--文件名称-->
56             <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;"/>
57             <param name="RollingStyle" value="Date"/>
58             <layout type="log4net.Layout.PatternLayout">
59                 <!--conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %SysMessage%newline" /-->
60                 <conversionPattern value="时间:%date [线程:%thread] %-5level  [类:%c][%L行]%n    %-5level:%message%newline" />
61             </layout>
62         </appender>
63         <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
64         <root>
65             <appender-ref ref="LogFileAppender" />
66             <appender-ref ref="ConsoleAppender" />
67             <appender-ref ref="EventLogAppender" />
68             <appender-ref ref="RollingLogFileAppender" />
69         </root>
70     </log4net>
71 </configuration>
72 

 

然后在AssemblyInfo.cs文件最后加入[assembly: log4net.Config.DOMConfigurator()]即可用了

示例:

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> 1 class Program
 2 {
 3         private static ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 4 
 5         static void Main(string[] args)
 6         {
 7             log.Debug("测试日志");
 8             log.Info("测试日志");
 9             log.Warn("测试日志");
10             Console.Read();
11         }
12 }

运行效果:

分享到:
评论

相关推荐

    logging-log4j2-log4j-2.16.0-rc1.zip

    在2021年12月初,Log4j中的一个名为CVE-2021-44228的严重漏洞被公开,这被称为"Log4Shell"漏洞。它源于Log4j的JNDI(Java Naming and Directory Interface)查找功能,当恶意用户在日志记录中插入特定的字符串时,...

    log4j2漏洞检测工具

    然而,在2021年12月初,研究人员发现Log4j2的一个严重漏洞,允许攻击者通过注入JNDI(Java Naming and Directory Interface)链接来执行任意代码。由于Log4j2被广泛应用在各种软件和系统中,这个漏洞的影响范围非常...

    log4net源码+demo

    下载完本例子之后,解压该log4net文件。 打开VS08之后--》打开项目--》选择解压后的文件即可打开 打开之后,您会看到有两个项目 一个是log4net的源代码  一个是测试log4net的源代码(控制台应该程序) 适合...

    Apache Log4j2 远程代码执行漏洞检测工具

    然而,在2021年12月初,一个严重的安全漏洞(CVE-2021-44228)被公开,这个漏洞被称为"Log4Shell",允许攻击者通过注入恶意的JNDI(Java Naming and Directory Interface)链接来执行远程代码,对受影响的系统造成...

    log4j2-2.15.0RC2

    2021年12月初,一个名为CVE-2021-44228的严重漏洞被公开,该漏洞影响了Log4j2的2.x版本,允许攻击者通过注入恶意代码来控制受影响的系统。这个漏洞被称为“Log4Shell”,其危害程度极高,因为它只需要在日志消息中...

    log4j2.0教程(英文版)

    ### Log4j 2.0 教程及使用手册知识点概览 #### 1.1 欢迎使用 Log4j 2! ##### 1.1.1 引言 几乎每一个大型应用都有其自己的日志或跟踪API。遵循这一规则,E.U.SEMPER项目在1996年初决定编写其自己的跟踪API。经过...

    使用Log4j进行日志记录

    1996年初,欧洲安全电子市场(EU SEMPER)项目组决定编写自己的日志记录API,后来这个API演变成了Log4j。Log4j是一个开放源码项目,一个非常流行的Java日志记录包。它允许开发者向代码中插入日志记录语句,还允许在不...

    apache-log4j-2.15.0-rc2-bin.zip

    在2021年12月初,Log4j 发现了一个严重漏洞,被称为CVE-2021-44228,也称为"Log4Shell"。这是一个非常危险的漏洞,因为它允许攻击者通过注入恶意代码到日志记录字符串中,从而实现远程代码执行。一旦攻击成功,黑客...

    log4j-2.15.0-rc2.tar.gz

    然而,在2021年12月初,一个严重的安全漏洞被发现,即CVE-2021-44228,这个漏洞被称为“Log4Shell”,它允许远程代码执行(RCE),对使用Log4j 2.x版本的系统构成了重大威胁。 此漏洞源于Log4j中的JNDI(Java ...

    Log4j简明手册

    Log4j简明手册 几乎所有的大型应用程序都包括它的自己的日志和跟踪API。顺应这个规则,E.U. SEMPER 项目决定写它自己的跟踪PAI。这是1996年初。在无数次加强,几次变形和许多工作后,那个API变成了如今的Log4j,一个...

    Apache-Log4j-Learning-main.zip

    然而,2021年12月初,一个严重的安全漏洞被发现,被称为CVE-2021-44228,也被称为"Log4Shell"漏洞。这个漏洞的影响非常广泛,因为它允许远程代码执行(RCE),使得攻击者能够完全控制受影响的系统。 CVE-2021-44228...

    Yocto Kernel编译过程分析完整log

    本文件与如下两篇文章一一对应 ... 4. 《[【SemiDrive源码分析】【Yocto源码分析】04 - yocto/meta-semidrive目录及Yocto Kernel编译过程分析(下)](https://blog.csdn.net/Ciellee/article/details/124622029)》

    logging-log4cxx:Apache Log4cxx是Apache Log4j的C ++端口

    问题和请求请求 默认情况下,问题是在中维护的,因此在发布拉取请求之前,请先查看是否存在与您的问题/功能/ ...相关的问题。 如果没有,通常可以在IF代码可用的情况下直接创建拉取请求,但是请有些冗长:提供一些...

    Changelog

    此外,为了提高可读性,Changelog可能会使用Markdown或其他标记语言进行格式化,使列表更易阅读。 总之,"Changelog"是软件开发过程中的重要文档,它帮助用户和开发者追踪软件的变化,理解每个版本带来的新特性和...

    2020学年高中数学 初高中衔接教材 第30课时 对数的运算性质学案(无答案)苏教版.doc

    在高中数学的学习中,对数的运算性质是一个重要的知识点,特别是在初高中衔接阶段,它能够帮助学生更好地理解和应用对数函数。本课时主要聚焦于对数的运算性质及其应用,旨在让学生掌握这些性质,并能灵活运用它们...

    just4log-ng-开源

    日志字节码增强器:将使用“ isXXXEnabled()”调用围绕每个日志记录语句。 因此,请不要将这样的非生产性代码弄乱您的... 支持log4j,JDK日志记录,Apache Commons日志记录和SLF4J。 基于just4log,包含了Ant Task

    ASPNET在线答题系统源码

    MVC4+PetaPoco+Log4Net+EasyUI+SqlServer(SqlLite),后台管理,在线答题,知识闯关,趣味性比较高。1、本系统参考连连看游戏模式,在规定时间内,看谁答题最多,能够较好地调动答题人员的参与兴趣。答题过程中,回答...

    webuitest4j:该项目是java编写的使用selenium依赖包的WebUI测试项目

    Java +Selenium+ Testng + Maven + PO +多线程+ slf4j + log4j +截图+ rangereports + redis +多浏览器+ h5 +优先级设置+ jenkins + grid平台 框架功能 PO思想模式 多线程 slf4j + log4j日志 错误截图 ranger

    初升高衔接教材 高一预科班数学精品课程二十讲(教学案):第十八讲 对数及其运算性质同步提升训练 含解析.doc

    4. **指数与对数的互化**:理解如何将指数式转化为对数式和反之,例如 \( a^x = b \) 可以写成 \( x = \log_a{b} \),而 \( \log_a{b} = c \) 可以写成 \( a^c = b \)。 5. **对数的值的计算**:通过运用对数的运算...

Global site tag (gtag.js) - Google Analytics