分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

log4net 日志打印不全

发布时间:2023-09-06 02:02责任编辑:董明明关键词:暂无标签

程序用的是log4net打印日志,偶现日志打印不全的问题,程序的log4net配置如下:

 1 <log4net> 2 ????<root> 3 ??????<level value="ALL"/> 4 ??????<appender-ref ref="RollingLogFileAppender"/> 5 ??????<appender-ref ref="ConsoleAppender"/> 6 ????</root> 7 ????<!--日志记录器logger,可以有多个--> 8 ????<logger name="fileLog"> 9 ??????<level value="ALL"/>10 ??????<appender-ref ref="ConsoleAppender"/>11 ??????<appender-ref ref="RollingLogFileAppender"/>12 ????</logger>13 ????<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">14 ??????<layout type="log4net.Layout.PatternLayout">15 ????????<param name="ConversionPattern" value="%d [%t] %-5p %c [%x]- %m%n"/>16 ??????</layout>17 ????</appender>18 ????<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">19 ??????<param name="File" value="logs/PekingVMS"/>20 ??????<param name="AppendToFile" value="true"/>21 ??????<!-- 切割最多文件数 -1表示不限制产生日志文件数-->22 ??????<param name="MaxSizeRollBackups" value="-1"/>23 ??????<param name="Encoding" value="utf-8" />24 ??????<!-- 每个文件的大小限制 ?-->25 ??????<param name="MaximumFileSize" value="100MB"/>26 ??????<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock"/>27 ??????<param name="StaticLogFileName" value="false"/>28 ??????<param name="DatePattern" value="yyyyMMdd&quot;.log&quot;"/>29 ??????<param name="RollingStyle" value="Composite"/>30 ??????<layout type="log4net.Layout.PatternLayout">31 ????????<param name="ConversionPattern" value="%d [%t] %-5p %c [%x]- %m%n"/>32 ??????</layout>33 ????</appender>34 ??</log4net>

PatternLayout 相关配置信息如下所示:

  -X号: X信息输出时左对齐;
 %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
 %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
 %r: 输出自应用启动到输出该log信息耗费的毫秒数
 %c: 输出日志信息所属的类目,通常就是所在类的全名
 %t: 输出产生该日志事件的线程名
 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
 %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
 %%: 输出一个"%"字符
 %F: 输出日志消息产生时所在的文件名称
 %L: 输出代码中的行号
 %m: 输出代码中指定的消息,产生的日志具体信息
 %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
 
日志只打印了时间,现场id,优先级,类名,后面就没有了,猜测可能是%x获取不到,导致后面的日志内容没有打印,所以改为:
1 <layout type="log4net.Layout.PatternLayout">2 ????????<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>3 ??????</layout>

后来试了一下,发后面的日志打印成功。

log4net 日志打印不全

原文地址:https://www.cnblogs.com/Johar/p/9245351.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved