Nuget程序包不用细介绍,网上资源很多,有个项目使用了log4net,为项目打log,功能很多,足够一般使用。
使用时候需要在配置文件中对其进行相关配置,我自己的配置文件放在App.config文件中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!--
Level有以下几种取值 级别 允许的方法 Boolean属性 || 优先级别
===========================================================
OFF || Highest FATAL void Fatal(...); bool IsFatalEnabled; || 致命 ERROR void Error(...); bool IsErrorEnabled; || 错误 WARN void Warn(...); bool IsWarnEnabled; || 警告 INFO void Info(...); bool IsInfoEnabled; || 信息 DEBUG void Debug(...); bool IsDebugEnabled; || 调试 ALL || Lowest
-->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value=""/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%02thread] %-5level %logger: %message%newline"/>
</layout>
</appender>
</log4net>
</startup>
</configuration>
是正在用的配置。
在AssemblyInfo.cs文件中添加
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
使用logger:
public static class LoggerFactory
{
private static ILog _log = LogManager.GetLogger("default");
public static ILog GetLog()
{
return _log;
}
}
另外,程序打包以后安装运行,若程序无法写入log,需要将安装程序路径的权限放开。
DLL库工程使用log4net