log4net.config配置文件:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<!-- 日志文件配置-->
<root>
<level value="ALL"/>
<!--按文件存储日志-->
<appender-ref ref="DebugAppender"/>
<appender-ref ref="InfoAppender"/>
<appender-ref ref="ErrorAppender" />
</root>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value=".\\Logs\\Error\\" />
<!--日志记录的存在路-->
<param name="AppendToFile" value="true" />
<!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
<param name="MaxSizeRollBackups" value="100" />
<!--创建最大文件数-->
<param name="maximumFileSize" value="10MB" />
<!--文件大小-->
<param name="StaticLogFileName" value="false" />
<!--是否指定文件名-->
<param name="DatePattern" value="yyyy-MM-dd".log""/>
<!--文件格式-->
<param name="RollingStyle" value="Composite" />
<!--创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite-->
<layout type="log4net.Layout.PatternLayout">
<!--输出内容布局-->
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
<!--method会影响性能-->
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value=".\\Logs\\Info\\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="maximumFileSize" value="10MB" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd".log"" />
<param name="RollingStyle" value="Composite" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value=".\\Logs\\Debug\\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="maximumFileSize" value="10MB" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd".log"" />
<param name="RollingStyle" value="Composite" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
</log4net>
View Code
在代码中加载配置文件:
public partial class Form1 : Form
{
private log4net.ILog _log2 = null;
public Form1()
{
InitializeComponent();
//加载log4net配置文件
UriBuilder uri = new UriBuilder(Assembly.GetExecutingAssembly().CodeBase);
string path = Path.GetDirectoryName(Uri.UnescapeDataString(uri.Path));
FileInfo configFile = new FileInfo(Path.Combine(path, "log4net.config"));
log4net.Config.XmlConfigurator.Configure(configFile);
_log2 = log4net.LogManager.GetLogger(typeof(Form1));
}
View Code