博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Log4Net的WebApplication使用
阅读量:5951 次
发布时间:2019-06-19

本文共 5467 字,大约阅读时间需要 18 分钟。

一、Log4Net的WebApplication使用

 1、首先使用nuget 添加log4Net 到WebApplication项目中

log4j每个符号的具体含义:%d %5p %c{1}:%L - %m%n

log4j.properties #  %m 输出代码中指定的消息 #  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL #  %r 输出自应用启动到输出该log信息耗费的数 #  %c 输出所属的类目,通常就是所在类的全名 #  %t 输出产生该日志事件的线程名 #  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” #  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 #  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。 log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n #日志文件 每日 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=F:/mylog.txt log4j.appender.A1.layout=org.apache.log4j.PatternLayout #%时间  [%线程] %log级别 %完整类名 - %消息 %换行 log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

2、在WebApplication项目的App.config中添加下面内容(只要是设置日志的添加类型,路径等)

<log4net>

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\Log.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaximumFileSize" value="2MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-15p %d [%c] %m%n" />
</layout>
</appender>

<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">//控制台输出

<layout type="log4net.Layout.PatternLayout,log4net">

<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />

</layout>

</appender>

<root>

<level value="all" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>

3、在WebApplication项目的Properties中的AssemblyInfo.cs中添加下面内容

[assembly: log4net.Config.DOMConfigurator(Watch = true)](不建议使用,已经过时了)

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

4、在MVC 项目则是在  Global.asax.cs文件中添加下面内容

public class MvcApplication : System.Web.HttpApplication

{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
log4net.Config.XmlConfigurator.Config();//处理log4日志
}
}

4、在WinForm项目启动项项目中使用

static class Program

{
public static log4net.ILog LOG = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//捕获未处理异常
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}

static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)

{
LOG.Error(e.Exception);
//throw new Exception("线程未知异常", e.Exception);
MessageBox.Show(e.Exception.Message, "线程异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)

{
Exception ex = e.ExceptionObject as Exception;
LOG.Error(ex);
MessageBox.Show(ex.Message, "应用程序异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
}

 1、首先使用nuget 添加log4Net 到WinForm项目中

log4j每个符号的具体含义:%d %5p %c{1}:%L - %m%n

log4j.properties #  %m 输出代码中指定的消息 #  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL #  %r 输出自应用启动到输出该log信息耗费的数 #  %c 输出所属的类目,通常就是所在类的全名 #  %t 输出产生该日志事件的线程名 #  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” #  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 #  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。 log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n #日志文件 每日 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=F:/mylog.txt log4j.appender.A1.layout=org.apache.log4j.PatternLayout #%时间  [%线程] %log级别 %完整类名 - %消息 %换行 log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

2、在WinForm项目的App.config中添加下面内容(只要是设置日志的添加类型,路径等)

<log4net>

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\Log.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaximumFileSize" value="2MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-15p %d [%c] %m%n" />
</layout>
</appender>
<root>
<level value="all" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>

3、在WinForm项目的Properties中的AssemblyInfo.cs中添加下面内容

[assembly: log4net.Config.DOMConfigurator(Watch = true)](不建议使用,已经过时了)

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

4、在WinForm项目启动项项目中使用

static class Program

{
public static log4net.ILog LOG = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// 应用程序的主入口点。
/// </summary>

class Program

{
static log4net.ILog Log = log4net.LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
Log.Info("111111111111111111111111");
Log.Warn("111111111111111111111111");
Log.Error("111111111111111111111111");
}
}

转载地址:http://uysxx.baihongyu.com/

你可能感兴趣的文章
这两天学的线程池归纳
查看>>
单列的用法的网址:
查看>>
Unicode字符编码表
查看>>
C++ sqlite3解决中文排序问题
查看>>
Call to a member function allowField() on null 错误总结
查看>>
2019 年 5 月 Android 开发热门开源项目
查看>>
线程关键字、锁、同步集合笔记
查看>>
前端规范之HTML 规范
查看>>
小程序营销组件
查看>>
大数据学习笔记1
查看>>
【NOIP】提高组2016 愤怒的小鸟
查看>>
leetcode 326. Power of Three
查看>>
陈云峰:区块链技术在金融领域的应用与思考
查看>>
time.js 时间函数库
查看>>
部署模式 - 每个主机多个服务实例
查看>>
COJS:1829. [Tyvj 1728]普通平衡树
查看>>
SpringBoot 教程之 profile
查看>>
面试题编程题08-python 垃圾回收机制
查看>>
排序--冒泡
查看>>
java中int->String 3种方式效率分析
查看>>