首页 > 代码库 > 【原创】ASP.NET Web开发,实现打印Log日志,步骤详解
【原创】ASP.NET Web开发,实现打印Log日志,步骤详解
添加Log需要四步:
一、引用log4net.dll,详见附件:http://pan.baidu.com/s/1c0hab2g
二、项目根目录下,添加 log4net.xml
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <configSections> 4 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> 5 </configSections> 6 <log4net> 7 <!--定义输出到文件中--> 8 <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> 9 <!--定义文件存放位置-->10 <file value="D:/log4netfile/BYPlatformWAPI.log" />11 <!--是否追加到文件-->12 <appendToFile value="true" />13 <!--名称是否可以更改 为false为可以更改-->14 <param name="StaticLogFileName" value="false"/>15 <!--变换的形式为日期-->16 <rollingStyle value="Date" />17 <!--日期的格式-->18 <datePattern value="yyyyMMdd-HHmmss" />19 <layout type="log4net.Layout.PatternLayout">20 <!--<conversionPattern value="http://www.mamicode.com/记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />-->21 <conversionPattern value="记录时间:%date 日志级别:%level Log类:%logger - Log描述:\n %message%newline" />22 </layout>23 </appender>24 25 <!--定义输出到控制台命令行中-->26 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">27 <layout type="log4net.Layout.PatternLayout">28 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />29 </layout>30 </appender>31 <!--定义输出到windows事件中-->32 <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">33 <layout type="log4net.Layout.PatternLayout">34 <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />35 </layout>36 </appender>37 <!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb-->38 <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">39 <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />40 <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />41 <!--定义各个参数-->42 <parameter>43 <parameterName value="@logDate" />44 <dbType value="String" />45 <size value="240" />46 <layout type="log4net.Layout.PatternLayout">47 <conversionPattern value="%date" />48 </layout>49 </parameter>50 <parameter>51 <parameterName value="@thread" />52 <dbType value="String" />53 <size value="240" />54 <layout type="log4net.Layout.PatternLayout">55 <conversionPattern value="%thread" />56 </layout>57 </parameter>58 <parameter>59 <parameterName value="@logLevel" />60 <dbType value="String" />61 <size value="240" />62 <layout type="log4net.Layout.PatternLayout">63 <conversionPattern value="%level" />64 </layout>65 </parameter>66 <parameter>67 <parameterName value="@logger" />68 <dbType value="String" />69 <size value="240" />70 <layout type="log4net.Layout.PatternLayout">71 <conversionPattern value="%logger" />72 </layout>73 </parameter>74 <parameter>75 <parameterName value="@message" />76 <dbType value="String" />77 <size value="240" />78 <layout type="log4net.Layout.PatternLayout">79 <conversionPattern value="%message" />80 </layout>81 </parameter>82 </appender>83 <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->84 <root>85 <level value="ALL" />86 <!--文件形式记录日志-->87 <appender-ref ref="LogFileAppender" />88 <!--控制台控制显示日志89 <appender-ref ref="ConsoleAppender" />-->90 <!--Windows事件日志91 <appender-ref ref="EventLogAppender" />-->92 <!-- 如果不启用相应的日志记录,可以通过这种方式注释掉93 <appender-ref ref="AdoNetAppender_Access" />94 -->95 </root>96 97 </log4net>98 </configuration>
三、在\Properties\AssemblyInfo.cs文件的底部,添加一句:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
1 using System.Reflection; 2 using System.Runtime.CompilerServices; 3 using System.Runtime.InteropServices; 4 5 // 有关程序集的常规信息通过下列特性集 6 // 控制。更改这些特性值可修改 7 // 与程序集关联的信息。 8 [assembly: AssemblyTitle("Web")] 9 [assembly: AssemblyDescription("")]10 [assembly: AssemblyConfiguration("")]11 [assembly: AssemblyCompany("")]12 [assembly: AssemblyProduct("Web")]13 [assembly: AssemblyCopyright("版权所有(C) 2014")]14 [assembly: AssemblyTrademark("")]15 [assembly: AssemblyCulture("")]16 17 // 将 ComVisible 设置为 false 会使此程序集中的类型18 // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的某个类型,19 // 请针对该类型将 ComVisible 特性设置为 true。20 [assembly: ComVisible(false)]21 22 // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID23 [assembly: Guid("940997e2-1820-4f8b-b280-2e1bf426fe27")]24 25 // 程序集的版本信息由下列四个值组成:26 //27 // 主版本28 // 次版本29 // 内部版本号30 // 修订号31 //32 // 可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,33 // 方法是按如下所示使用“*”:34 [assembly: AssemblyVersion("1.0.0.0")]35 [assembly: AssemblyFileVersion("1.0.0.0")]36 37 //添加下面这句38 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
四、在要实现的类中添加全局变量:
1 public class ConnectController : ApiController 2 { 3 #region 全局变量 4 /// <summary> 5 /// 日志引用 6 /// </summary> 7 private static log4net.ILog Log = LogManager.GetLogger("类名"); 8 #endregion 9 10 public void Main()11 {12 try13 {14 Log.Debug("\n");15 Log.Debug("Log 开始!");16 }17 catch (Exception ex)18 {19 Log.Error("Log 异常 :", ex);20 }21 finally22 {23 Log.Debug("Log 结束!");24 }25 }26 }
个人网站正在搭建中:http://Amoysec.com,准备使用bootstrap + knockoutjs + MVC +WebAPI + EF6.0来做,其中对knockoutjs也算有不少的了解了,虽然比不上博客园的汤姆大叔,但也全凭自己对一份chm文档摸索出了不少。欢迎一起探讨!
转载请注明出处,谢谢:http://www.cnblogs.com/mose/p/Amoy.html
【原创】ASP.NET Web开发,实现打印Log日志,步骤详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。