安装 Nuget 包
▲ 这个没什么说的。
log4net.config
右键项目新建程序配置:
log4net.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!--配置节点-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<param name="File" value="Log\\Info\\" />
<!--是否是向文件中追加日志-->
<param name="AppendToFile" value="true" />
<!--log保留天数-->
<param name="MaxSizeRollBackups" value="30" />
<!--log文件大小-->
<param name="maximumFileSize" value="100MB"/>
<!--日志文件名是否是固定不变的-->
<param name="StaticLogFileName" value="false" />
<!--日志文件名格式为:2008-08-31.log-->
<param name="DatePattern" value="yyyy-MM-dd'_INFO''.log'" />
<!--日志根据日期滚动-->
<param name="RollingStyle" value="Composite" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [thread:%t] %-3p %F line:%L func:%c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<param name="File" value="Log\\Debug\\" />
<!--是否是向文件中追加日志-->
<param name="AppendToFile" value="true" />
<!--log保留天数-->
<param name="MaxSizeRollBackups" value="30" />
<!--log文件大小-->
<param name="maximumFileSize" value="100MB"/>
<!--日志文件名是否是固定不变的-->
<param name="StaticLogFileName" value="false" />
<!--日志文件名格式为:2008-08-31.log-->
<param name="DatePattern" value="yyyy-MM-dd'_DEBUG''.log'" />
<!--日志根据日期滚动-->
<param name="RollingStyle" value="Composite" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [thread:%t] %-5p %7c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="DEBUG" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<param name="File" value="Log\\Error\\" />
<!--是否是向文件中追加日志-->
<param name="AppendToFile" value="true" />
<!--log保留天数-->
<param name="MaxSizeRollBackups" value="30" />
<!--log文件大小-->
<param name="maximumFileSize" value="100MB"/>
<!--日志文件名是否是固定不变的-->
<param name="StaticLogFileName" value="false" />
<!--日志文件名格式为:2008-08-31.log-->
<param name="DatePattern" value="yyyy-MM-dd'_ERROR''.log'" />
<!--日志根据日期滚动-->
<param name="RollingStyle" value="Composite" />
<!--最小锁定模型以允许多个进程可以写入同一个文件-->
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [thread:%t] %p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="FATAL"/>
</filter>
</appender>
<root>
<!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
<!--系统上线初期或发生异常可将此Level设定为DEBUG或ALL-->
<level value="ALL" />
<appender-ref ref="InfoAppender" />
<appender-ref ref="DebugAppender" />
<appender-ref ref="ErrorAppender" />
</root>
</log4net>
</configuration>
自动复制配置文件
LogHelper 类包装
public static class LogHelper
{
static LogHelper()
{
//log4net.Config.XmlConfigurator.Configure();
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("./log4net.config")); // 设置更新是自动复制
}
private static ILog logInfo = LogManager.GetLogger("Default");
/// <summary>
/// 自定义方法名,同一个方法中可只传一次
/// </summary>
/// <param name="className"></param>
/// <returns></returns>
public static ILog GetLogger(string className)
{
logInfo = LogManager.GetLogger(className);
return logInfo;
}
/// <summary>
/// 记录Info日志
/// </summary>
/// <param name="info"></param>
public static void Info(string info)
{
if (logInfo.IsInfoEnabled && !string.IsNullOrEmpty(info))
{
logInfo.Info(info);
}
}
/// <summary>
/// 记录error日志
/// </summary>
/// <param name="info"></param>
public static void Error(string info)
{
if (!string.IsNullOrEmpty(info))
{
logInfo.Error(info);
}
}
/// <summary>
/// 记录debug日志
/// </summary>
/// <param name="info"></param>
public static void Debug(string info)
{
if (logInfo.IsDebugEnabled && !string.IsNullOrEmpty(info))
{
logInfo.Debug(info);
}
}
/// <summary>
/// 记录Fatal日志 致命错误
/// </summary>
/// <param name="info"></param>
public static void Fatal(string info)
{
logInfo.Fatal(info);
}
/// <summary>
/// 警告信息
/// </summary>
/// <param name="info"></param>
public static void Warn(string info)
{
logInfo.Warn(info);
}
}
AssemblyInfo.cs 配置
新增:
新增:
//设置独立配置文件,log4net.config
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
使用
其他程序集使用的时候也需要引用 log4net.dll
。如果需要增加新的 log
对象:GetLogger(string className)
一下。
参考:
https://blog.csdn.net/baidu_37842527/article/details/125851930
原文地址:http://www.cnblogs.com/huvjie/p/16887947.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性