新建工程
ConsoleApplication1
代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "ConsoleApplication1.exe.config", Watch = false)]
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Application.Run(new MainForm());
//创建日志记录组件实例
ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//记录错误日志
log.Error("error", new Exception("发生了一个异常"));
//记录严重错误
log.Fatal("fatal", new Exception("发生了一个致命错误"));
//记录一般信息
log.Info("info");
//记录调试信息
log.Debug("debug");
//记录警告信息
log.Warn("warn");
Console.Read();
}
}
}
新建 :应用程序配制文件(app.config)
内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<appSettings>
</appSettings>
<log4net>
<!--定义输出到控制台命令行中-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<!--按日志容量分割日志文件 10240KB一个-->
<appender name="LogFileAppenderBySize" type="log4net.Appender.RollingFileAppender" >
<!--是否续写-->
<param name="AppendToFile" value="true" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<param name="StaticLogFileName" value="true" />
<!--按照文件的大小进行变换日志文件-->
<param name="RollingStyle" value="Size" />
<param name="File" value="log.txt" />
<!--单个文件最大数量 好像只有在 按Size分割时有效-->
<param name="MaximumFileSize" value="5KB"/>
<!--保留的log文件数量 超过此数量后 自动删除之前的 好像只有在 按Size分割时有效-->
<param name="MaxSizeRollBackups" value="500" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n-----------------------------------------%n发生时间: %d %n事件级别: %level %n相关类名: %c%n程序文件: %F 行号: %L%n日志内容: %m%n附加信息: " />
</layout>
</appender>
<!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->
<root>
<!--控制台控制显示日志
<appender-ref ref="ConsoleAppender" />-->
<!--启用按容量分割-->
<appender-ref ref="LogFileAppenderBySize" />
</root>
</log4net>
</configuration>