log4Net应用

 

 首先,AssemblyInfo.cs文件中添加一行代码

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "./log4net.xml", ConfigFileExtension = "xml", Watch = true)]

 

复制代码

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date %-5level %location] %message%newline"/>
</layout>
</appender>

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\App\\App-"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date %-5level %location] %message%newline"/>
</layout>
</appender>
<appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\ErrorLog\\Error-"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date] %message%newline"/>
</layout>
</appender>
<appender name="DebugFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\DebugLog\\Debug-"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date] %message%newline"/>
</layout>
</appender>
<appender name="NetFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\NetLog\\Net-"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Composite"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<param name="maximumFileSize" value="100MB"/>
<param name="maxSizeRollBackups" value="10"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date] %message%newline"/>
</layout>
</appender>
<appender name="AlarmFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\AlarmLog\\I"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%message%newline"/>
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
</appender>
<appender name="YearFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\YearLog\\Year"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Size"/>
<param name="DatePattern" value="yyyyMMdd.TXT"/>
<param name="StaticLogFileName" value="false"/>
<param name="maximumFileSize" value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%date] %message%newline"/>
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
</appender>

<root>
<level value="ALL"/>
<appender-ref ref="ConsoleAppender"/>
<appender-ref ref="RollingFileAppender"/>
</root>

<logger name="ErrLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="ErrorFileAppender"/>
</logger>
<logger name="DebugLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="DebugFileAppender"/>
</logger>
<logger name="NetLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="NetFileAppender"/>
</logger>
<logger name="AlarmLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="AlarmFileAppender"/>
</logger>
<logger name="YearLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="YearFileAppender"/>
</logger>


</log4net>
</configuration>

复制代码
复制代码

/**
* 文件名:LogHelper.cs
* 说明:Log4net日志
* 作者:吕令敏
* 更改记录:
* -------------------------------------------------------
* 改动人 时间 原因
* -------------------------------------------------------
* 吕令敏 2022-02-17 创建文件
* -------------------------------------------------------
*/

using System.Reflection;
using log4net;

namespace Common
{
/// <summary>
/// Log4net日志
/// </summary>
public class LogHelper
{
//日志
public readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public readonly static ILog logerr = LogManager.GetLogger("ErrLogger");
public readonly static ILog logdebug = LogManager.GetLogger("DebugLogger");
public readonly static ILog logNet = LogManager.GetLogger("NetLogger");
public readonly static ILog logAlarm = LogManager.GetLogger("AlarmLogger");
public readonly static ILog logYear = LogManager.GetLogger("YearLogger");


/// <summary>
/// 输出异常信息
/// </summary>
/// <param name="message"></param>
public static void Error(object message)
{
logerr.Info(message);
}

/// <summary>
/// 输出Debug数据
/// </summary>
/// <param name="message"></param>
public static void Debug(object message)
{
logdebug.Info(message);
}

/// <summary>
/// 输出Net语句
/// </summary>
/// <param name="message"></param>
public static void NetLog(object message)
{
logNet.Info(message);
}

/// <summary>
/// 输出报警
/// </summary>
/// <param name="message"></param>
public static void Alarm(object message)
{
logAlarm.Info(message); ;
}

/// <summary>
/// 按大小输出
/// </summary>
/// <param name="message"></param>
public static void Year(object message)
{
logYear.Info(message); ;
}


}
}

复制代码

 

posted @   lingmin210  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示