log4net.config
参数设置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
<appender name="console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger %line - %message%newline" />
</layout>
</appender>
<appender name="file" type="log4net.Appender.RollingFileAppender">
<file value="app.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
</appender>
</log4net>
</configuration>
对应的代码配置
using log4net;
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
using log4net.Repository.Hierarchy;
namespace Log4NetHelper
{
public class LogHelper
{
public static void Setup()
{
// 写入文档时的日志格式
var patternLayout = new PatternLayout
{
ConversionPattern = "%date [%thread] %level %logger - %message%newline"
};
patternLayout.ActivateOptions();
// 文档日志
var roller = new RollingFileAppender
{
File = "app.log",
AppendToFile = true,
RollingStyle = RollingFileAppender.RollingMode.Size,
MaxSizeRollBackups = 5,
MaximumFileSize = "10MB",
StaticLogFileName = true,
Layout = patternLayout
};
roller.ActivateOptions();
// 命令行日志格式
patternLayout = new PatternLayout
{
ConversionPattern = "%date %level %logger %line - %message %newline"
};
patternLayout.ActivateOptions();
// 命令行日志
var consoleAppender = new ConsoleAppender
{
Name = "console",
Layout = patternLayout
};
consoleAppender.ActivateOptions();
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.Level = Level.All;
hierarchy.Root.AddAppender(roller);
hierarchy.Root.AddAppender(consoleAppender);
hierarchy.Configured = true;
}
}
}