架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 177|回复: 1

[插件库] Common.Logging日志配置

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-26 21:24:38
zu
前言

项目中,我们经常会通过记录日志的方式,看生产环境下,项目的运行情况。本篇将记录日志的配置。



环境&工具


>Windows 10 系统

>VS 2017


正文

1:新建一个控制台应用程序。

2:引用以下 dll ,注意 Common.Logging.Log4Net1215 版本 和 log4net 版本一致







3:新建一个 Conf 文件夹,添加 log4net.config文件,并将属性改成 始终复制。







4:在 log4net.config 文件中贴入 相关配置

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3.   <configSections>
  4.     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  5.   </configSections>
  6.   <log4net>

  7.     <logger name="ProgectNameLog" additivity="false" >
  8.       <level value="ALL" />
  9.       <appender-ref ref="ProgectNameLogTxtAppender" />
  10.     </logger>
  11.    
  12.     <appender name="ProgectNameLogTxtAppender" type="log4net.Appender.RollingFileAppender">
  13.       <file value="log/ProgectNameLog.txt" />
  14.       <appendToFile value="true" />
  15.       <param name="MaxSizeRollBackups" value="10"/>
  16.       <param name="MaximumFileSize" value="10240KB"/>
  17.       <param name="RollingStyle" value="Size"/>
  18.       <param name="StaticLogFileName" value="true"/>
  19.       <layout type="log4net.Layout.PatternLayout">
  20.         <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  21.       </layout>
  22.     </appender>
  23.    
  24.     <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
  25.       <file value="log/" />
  26.       <appendToFile value="true" />
  27.       <param name="DatePattern" value="yyyy-MM-dd'.txt'" />
  28.       <rollingStyle value="Date" />
  29.       <maxSizeRollBackups value="100" />
  30.       <maximumFileSize value="1024KB" />
  31.       <staticLogFileName value="false" />
  32.       <Encoding value="UTF-8" />
  33.       <filter type="log4net.Filter.LevelRangeFilter">
  34.         <param name="LevelMin" value="INFO" />
  35.         <param name="LevelMax" value="INFO" />
  36.       </filter>
  37.       <layout type="log4net.Layout.PatternLayout">
  38.         <conversionPattern value="%date %-5level %logger  - %message%newline" />
  39.       </layout>
  40.     </appender>
  41.     <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender">
  42.       <file value="log/error.txt" />
  43.       <appendToFile value="true" />
  44.       <rollingStyle value="Size" />
  45.       <maxSizeRollBackups value="100" />
  46.       <maximumFileSize value="10240KB" />
  47.       <staticLogFileName value="true" />
  48.       <Encoding value="UTF-8" />
  49.       <filter type="log4net.Filter.LevelRangeFilter">
  50.         <param name="LevelMin" value="WARN" />
  51.         <param name="LevelMax" value="FATAL" />
  52.       </filter>
  53.       <layout type="log4net.Layout.PatternLayout">
  54.         <conversionPattern value="%date %-5level %logger - %message%newline" />
  55.       </layout>
  56.     </appender>
  57.     <root>
  58.       <level value="INFO" />
  59.       <appender-ref ref="InfoFileAppender" />
  60.       <appender-ref ref="ErrorFileAppender" />
  61.     </root>
  62.   </log4net>

  63. </configuration>
复制代码


5:在App.config中配置

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3.   <configSections>
  4.     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  5.     <sectionGroup name="common">
  6.       <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
  7.     </sectionGroup>
  8.   </configSections>
  9.   <common>
  10.     <logging>
  11.       <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1215">
  12.         <arg key="configType" value="FILE-WATCH" />
  13.         <arg key="configFile" value="~/Conf/log4net.config" />
  14.         <arg key="level" value="INFO" />
  15.       </factoryAdapter>
  16.     </logging>
  17.   </common>
  18.   <startup>
  19.     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  20.   </startup>
  21. </configuration>
复制代码



6:贴入以下代码,F5 运行。

  1. using Common.Logging;
  2. using System;

  3. namespace WriteLogDemo
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             LogTest L1 = new LogTest();
  10.             L1.Info();
  11.             Console.WriteLine("写入成功!");
  12.             Console.ReadKey();

  13.         }
  14.     }
  15.     public class LogTest
  16.     {
  17.         private readonly ILog _logger;
  18.         private readonly ILog _ProgectNameLog = LogManager.GetLogger("ProgectNameLog");
  19.         public LogTest()
  20.         {
  21.             this._logger = LogManager.GetLogger(this.GetType());
  22.         }
  23.         public void Info()
  24.         {
  25.             _logger.Info("程序运行........");
  26.             _logger.Error("程序异常:错误信息为........");
  27.             _ProgectNameLog.Info("**程序运行情况");
  28.         }
  29.     }
  30. }
复制代码


7:可在Debug 目录下 看到Log文件夹。刚才写入的日志文件就在里面了。





尾声

很酷,不想详细讲解,照着配就完事了。





上一篇:请求被中止: 未能创建 SSL/TLS 安全通道解决方案
下一篇:用Go语言编程的利与弊
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
沙发
发表于 2019-5-28 09:34:39
很酷哟
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-7-18 08:53

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表