Log4的一些基本用法
来源:互联网 发布:java string首字母大写 编辑:程序博客网 时间:2024/06/10 00:26
1。首先在webconfig里面进行配置
<configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <root> <priority value="ALL"/> <appender-ref ref="TraceAppender"/> <appender-ref ref="ConsoleAppender"/> <appender-ref ref="RollingLogFileAppender"/> </root> <appender name="TraceAppender" type="log4net.Appender.TraceAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> </layout> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="Log/log/" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value=".yyyyMMdd'.html'" /> <staticLogFileName value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> </log4net>
2.然后建立一个Loghelper的类
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;using log4net;/// <summary>/// LogHelp 的摘要说明/// </summary>public class LogHelp{ public LogHelp() { // // TODO: 在此处添加构造函数逻辑 // }
private const string LOG_REPOSITORY = "Default"; // this should likely be set in the web config. private static ILog m_log; public static void Init() { log4net.Config.XmlConfigurator.Configure(); }
private static void DoLog(string message, LogMessageType messageType, Exception ex, Type type) { m_log = LogManager.GetLogger(type);
switch (messageType) { case LogMessageType.Debug: LogHelp.m_log.Debug(message, ex); break;
case LogMessageType.Info: LogHelp.m_log.Info(message, ex); break;
case LogMessageType.Warn: LogHelp.m_log.Warn(message, ex); break;
case LogMessageType.Error: LogHelp.m_log.Error(message, ex); break;
case LogMessageType.Fatal: LogHelp.m_log.Fatal(message, ex); break; } } /*日志级别*/ public enum LogMessageType { /// <summary> /// 调试 /// </summary> Debug, /// <summary> /// 信息 /// </summary> Info, /// <summary> /// 警告 /// </summary> Warn, /// <summary> /// 错误 /// </summary> Error, /// <summary> /// 致命错误 /// </summary> Fatal }
public static void Write(string message, LogMessageType messageType) { DoLog(message, messageType, null, Type.GetType("System.Object")); }
public static void Write(string message, LogMessageType messageType, Type type) { DoLog(message, messageType, null, type); }
public static void Write(string message, LogMessageType messageType, Exception ex) { DoLog(message, messageType, ex, Type.GetType("System.Object")); }
public static void Write(string message, LogMessageType messageType, Exception ex, Type type) { DoLog(message, messageType, ex, type); }
public static void Assert(bool condition, string message) { Assert(condition, message, Type.GetType("System.Object")); }
public static void Assert(bool condition, string message, Type type) { if (condition == false) Write(message, LogMessageType.Info); }}3最后在global里面写入
<%@ Application Language="C#" %><%@ Import Namespace="System.Diagnostics" %><script runat="server">
void Application_Start(object sender, EventArgs e) { LogHelp.Init(); LogHelp.Write("站点程序运行...<br>",LogHelp.LogMessageType.Info, this.GetType()); } void Application_End(object sender, EventArgs e) { } void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception err = Server.GetLastError();
if (err is Exception) { //StringBuilder sb = new StringBuilder();
//if (Request.IsLocal) // sb.AppendLine(err.Message.ToString()); //else // sb.AppendLine(string.Format("系统程序发生异常。<br />错误信息:{0}", err)); //Server.ClearError(); //AppError.WriteError(AppError.ErrorType.Error, sb.ToString()); try { LogHelp.Write("Exception:", LogHelp.LogMessageType.Error, err, this.GetType()); } catch { //日志写入失败。。。 } } }
void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 //Application.Lock(); //Application["count"] = Convert.ToInt32(Application["count"]) + 1; //SqlParameter[] param ={ new SqlParameter("@counter", Application["count"].ToString()) }; //string procName = "dbo.UpdateCounter"; //DataBase.ExecuteQuery(procName,param); //Application.UnLock(); }
void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer // 或 SQLServer,则不会引发该事件。
} </script>
- Log4的一些基本用法
- log4 和logback的一些事项
- ListBox的一些基本用法
- Hibernate的一些基本用法
- hadoop的一些基本用法
- Git 的一些基本用法
- UITableView的一些基本用法
- UIButton的一些基本用法
- #define 的一些基本用法
- intent的一些基本用法
- Thread一些基本的用法
- UIWebView 的一些基本用法
- NSUserDefaults的一些基本用法
- Jquery的一些基本用法
- path的一些基本用法
- 广播的一些基本用法
- Tensorflow的一些基本用法
- C++的一些基本用法
- 《色彩解答》系列之二 色彩比例
- Today, I found Oracle DB's username and password are case sensitive.
- 什么叫 SQL SEREVER 批处理
- 初级学习感想
- [C学习]函数(?)
- Log4的一些基本用法
- C#格式化数值结果表[转]
- 数学建模十大算法(收藏)
- IE和FF下javascript获取网页及窗口大小的区别
- 创业路上之领头羊十二条
- Eclipse中文乱码问题解决方案
- 一次Java垃圾收集调优实战
- 这是我在csdn上发的第一篇文章
- 区分关联、依赖和聚集关系