log4net使用记录

首先nuget包,log4net引用;
配置文件App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<startup>
		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
	</startup>
	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
	</configSections>
	<!--类库-->
	<log4net>
		<!--类:名字叫ErrorLog    证明这个类要用来记录错误信息-->
		<logger name="ErrorLog">
			<!--设置这个类的等级是最低-->
			<level value="ALL"/>
			<!--设置这个引用-->
			<appender-ref ref="AppenderError"/>
		</logger>
		<!--类:名字叫InforLog    证明这个类要用来记录普通信息-->
		<logger name="InfoLog">
			<level  value="ALL"/>
			<appender-ref ref="AppenderInfo"/>
		</logger>
		<logger name="DebugLog">
			<level  value="ALL"/>
			<appender-ref ref="AppenderDebug"/>
		</logger>

		<!--提供记录错误信息的类中对错误信息的记录方式,记录方式是将信息日志写进一个文件中-->
		<appender name="AppenderError" type="log4net.Appender.RollingFileAppender">
			<!--设置文件存储的位置-->
			<param  name="File" value="Log\\Error\\"/>
			<param name="MaxSizeRollBackups" value="100" />
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true"/>
			<!--当个日志文件的最大大小-->
			<param name="MaxFileSize" value="1024" />
			<!--是否使用静态文件名-->
			<param name="StaticLogFileName" value="false" />
			<!--日志文件名-->
			<param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
			<!--文件创建的方式,这里是以Date方式创建  size  Composite-->
			<param name="RollingStyle" value="Date" />
			<!--记录日志信息的格式-->
			<!--"%date [%thread] %-5level %logger [%property{NDC}] - %message%newline",%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n-->
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="日志时间:%d 日志级别:%-5p 线程ID:%t  日志内容:%m%n" />
			</layout>
		</appender>
		<appender name="AppenderInfo" type="log4net.Appender.RollingFileAppender">
			<!--设置文件存储的位置-->
			<param  name="File" value="Log\\Infor\\"/>
			<param name="MaxSizeRollBackups" value="100" />
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true"/>
			<!--当个日志文件的最大大小-->
			<param name="MaxFileSize" value="1024" />
			<!--是否使用静态文件名-->
			<param name="StaticLogFileName" value="false" />
			<!--日志文件名-->
			<param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
			<!--文件创建的方式,这里是以Date方式创建  size  Composite-->
			<param name="RollingStyle" value="Date" />
			<!--记录日志信息的格式-->
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="日志时间:%d 日志级别:%-5p 线程ID:%t  日志内容:%m%n" />
			</layout>
		</appender>
		<appender name="AppenderDebug" type="log4net.Appender.RollingFileAppender">
			<!--设置文件存储的位置-->
			<param  name="File" value="Log\\Debug\\"/>
			<param name="MaxSizeRollBackups" value="100" />
			<!--是否追加到文件-->
			<param name="AppendToFile" value="true"/>
			<!--当个日志文件的最大大小-->
			<param name="MaxFileSize" value="1024" />
			<!--是否使用静态文件名-->
			<param name="StaticLogFileName" value="false" />
			<!--日志文件名-->
			<param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
			<!--文件创建的方式,这里是以Date方式创建  size  Composite-->
			<param name="RollingStyle" value="Date" />
			<!--记录日志信息的格式-->
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="日志时间:%d 日志级别:%-5p 线程ID:%t  日志内容:%m%n" />
			</layout>
		</appender>		
	</log4net>

</configuration>

AssemblyInfo.cs:增加一行代码

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

编写类代码:


    public  class LogHelper
    {
        public static ILog LogFatal = LogManager.GetLogger("ErrorLog");
        //public static ILog LogError = LogManager.GetLogger("ErrorLog");
        public static ILog LogInfo = LogManager.GetLogger("InfoLog");
        public static ILog LogDebug = LogManager.GetLogger("DebugLog");
        //public static ILog LogWarn = LogManager.GetLogger("WarnLog");
        static List<Tip> fatals = new List<Tip>();//致命
        static List<Tip> errors = new List<Tip>();//错误
        static List<Tip> infos = new List<Tip>();//信息
        static List<Tip> debugs = new List<Tip>();//调试
        static List<Tip> warns = new List<Tip>();//警告

        public static void WriteFatal(object info,Exception exInfo = null)
        {
            LogFatal.Fatal(info, exInfo);
            fatals.Add(new Tip() {ID=fatals.Count+1,Name=info.ToString(),datetime=DateTime.Now });
        }


        public static void WriteError(object info, Exception exInfo = null)
        {
            LogFatal.Error(info, exInfo);
            fatals.Add(new Tip() { ID = fatals.Count + 1, Name = info.ToString(), datetime = DateTime.Now });
        }

        public static void WriteInfo(object info, Exception exInfo=null)
        {
            LogInfo.Info(info, exInfo);
            fatals.Add(new Tip() { ID = fatals.Count + 1, Name = info.ToString(), datetime = DateTime.Now });
        }

        public static void WriteDebug(object info, Exception exInfo = null)
        {
            LogDebug.Debug(info, exInfo);
            fatals.Add(new Tip() { ID = fatals.Count + 1, Name = info.ToString(), datetime = DateTime.Now });
        }

        public static void WriteWarn(object info, Exception exInfo = null)
        {
            LogInfo.Warn(info, exInfo);
            fatals.Add(new Tip() { ID = fatals.Count + 1, Name = info.ToString(), datetime = DateTime.Now });
        }
        //public  void WriteLog(string info)
        //{
        //    if (LogError.IsErrorEnabled)
        //    {
        //        LogError.Error(info);
        //    }
        //}

        public class Tip
        {
            public int ID;
            public string Name;
            public DateTime datetime;

        }
    }
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值