netlog4学习入门
net吧
全部回复
仅看楼主
level 1
新手,公司开发一般都有用日志处理,本人java转.net,刚好学过java的log4j,所以上手.net lognet挺容易的。下面就分享下学习netlog4的学习心得吧。
1.加入log4net.dll
不需要网上搜索下载(下载不对,浪费时间浪费感情。。)。 直接右键项目NuGet程序包管理,搜索netlog4,点击Apache Netlog4安装(第一次安装时间比较长,后面很快) ,就可以看到dll已经下载到项目引用了。
2.app.config中的lognet4配置 Log\\Infor文件夹下是普通日志文件 Log\\Error\\下是异常日志文件
ConsoleApplication1\bin\Debug\Log\Infor
ConsoleApplication1\bin\Debug\Log\Error
下面是copy的代码
<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="InforLog">
<level value="ALL"/>
<appender-ref ref="AppenderInfor"/>
</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".txt"" />
<!--文件创建的方式,这里是以Date方式创建 size Composite-->
<param name="RollingStyle" value="Date" />
<!--记录日志信息的格式-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
</layout>
</appender>
<appender name="AppenderInfor" 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".txt"" />
<!--文件创建的方式,这里是以Date方式创建 size Composite-->
<param name="RollingStyle" value="Date" />
<!--记录日志信息的格式-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n日志内容:%m%n%n" />
</layout>
</appender>
</log4net>
3.在Properties文件夹的AssemblyInfo文件下添加 [assembly: log4net.Config.XmlConfigurator()] 一行代码即可(应该是读取 app.config中的lognet4配置)
4.添加日志公用方法
public static class LoggHelper
{
public static ILog logError = LogManager.GetLogger("ErrorLog");
public static ILog logInfor = LogManager.GetLogger("InforLog");
/// <summary>
/// 记录错误日志
/// </summary>
public static void WriteLog(string infor, Exception ex)
{
if (logError.IsErrorEnabled)
{
logError.Error(infor, ex);
}
}
/// <summary>
/// 记录普通日志
/// </summary>
public static void WriteLog(string infor)
{
if (logInfor.IsInfoEnabled)
{
logInfor.Info(infor);
}
}
}
4.到这里就可以跑程序了,在Programs.cs中加入如下代码
LoggHelper.WriteLog("nihao");//调用公用方法
Console.WriteLine("日志记录完毕。");
Console.Read();
D:\ConsoleApplication1\bin\Debug\Log\Infor下txt文件夹
日志时间:2019-12-29 16:36:08,098
日志级别:INFO
日志内容:nihao
5.上面是普通日志,下面测试异常日志
try
{
string a = null;
int len = a.Length;//空指针异常
}
catch (Exception ex)
{
LoggHelper.WriteLog("myerror", ex);//调用公用方法
}
D:\ConsoleApplication1\bin\Debug\Log\Error 下txt文件夹
异常时间:2019-12-29 16:43:11,232
异常级别:ERROR
异常内容:myerror
System.NullReferenceException: 未将对象引用设置到对象的实例。
在 ConsoleApplication1.Program.Main(String[] args) 位置 d:\.ConsoleApplication1\Program.cs:行号 18
大家相互交流吧,第一次发技术学习帖。写的有什么不对的地方也麻烦指正谢谢!
2019年12月29日 09点12分 1
1