在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。 使用log4net,一个很明显的好处是可以提供多种等级的记录信息,通过配置可以在开发的不同阶段处理不同的记录信息,比.NET自带的Debug/Trace两个级别要丰富的多。 一.配置文件 (1)麻烦自行百度log4net的dll文件,然后添加引用。 如上,第一个就是Log4net。 (2)在assemblyInfo.cs里添加下面这句: [assembly: log4net.Config.DOMConfigurator(Watch = true)]
在app.config里添加配置信息,如下(注意格式,startup放最后): <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"/> </configSections> <log4net> <logger name="logerror"> <level value="Error" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <logger name="logdebug"> <level value="DEBUG" /> <appender-ref ref="DebugAppender" /> </logger> <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogDebug\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<调试>%m 时间:%d [%t] ;%n" /> </layout> </appender> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogError\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<异常>%m 时间:%d [%t] ;%n" /> </layout> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%n<正常><时间:>%d %m[%t];%n" /> </layout> </appender> </log4net> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration> configurations写的是log4net版本信息。 (1)OFF (2)FATAL (3)ERROR (4)WARN (5)INFO (6)DEBUG (7)ALL (级别是从高到低) 配置信息的解释: <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender"> //日志的路径 <param name="File" value="Log\\LogDebug\\" /> //是否在文件中追加文件 <param name="AppendToFile" value="true" /> //最大变换数量 <param name="MaxSizeRollBackups" value="100" /> //文件最大大小 <param name="MaxFileSize" value="10240" /> //日志文件名是否为静态 <param name="StaticLogFileName" value="false" /> //文件名称命名 <param name="DatePattern" value="yyyyMMdd".txt"" /> //按照文件的Data进行变换日志文件 <param name="RollingStyle" value="Date" /> //log输入内容(可以根据需求自行设置) <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<调试>%m 时间:%d [%t] ;%n" /> </layout> </appender>
二.实例化log4net类 public class Log4netManager { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); public static readonly log4net.ILog logdebug = log4net.LogManager.GetLogger("logdebug"); /// <summary> /// 输出正常运行信息 /// </summary> /// <param name="info"></param> public static void WriteInfo(string info) { if (loginfo.IsInfoEnabled) { loginfo.Info(info); } } /// <summary> /// 输出异常运行信息 /// </summary> /// <param name="info"></param> public static void WriteError(string info) { if (logerror.IsErrorEnabled) { logerror.Error(info); } } /// <summary> /// 输出调试信息 /// </summary> /// <param name="info"></param> public static void WriteDebug(string info) { if (logdebug.IsDebugEnabled) { logerror.Debug(info); } } }
三.输出 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Log4netManager.WriteError("error"); Log4netManager.WriteDebug("debug"); Log4netManager.WriteInfo("info"); } }
四.打开文件所在位置 即可,见到该输出文件
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论