log4net 配置

摘要:
1.介绍log4net。dll组件集成到项目中;2.在应用程序中,应在config中进行以下修改(可以省略)以添加以下内容:该节点应置于<configuration>下的第一个位置,否则,将在服务中报告错误--定义文件的输出--˃˃˃config3.创建日志帮助。cs文件使用System;使用System.Collections。通用的使用系统。文本使用log4net;使用系统。诊断;使用系统。反射NamespaceWinService{publicclassLogHelper{privatestationonlyILogInfo=LogManager.GetLogger;privatesstationonlyilogErr=LogManager\GetLogger,/////记录正常消息////消息内容publicstatic void info{logInfo.info;}/////记录异常信息//////异常信息内容publicstaticvenderor{StackTracestackTrace=newStackTrace();StackFramestackFrame=stackTrac.GetFrame;MethodBasemethodBase=stackFrame.GetMethod();logError.Error;}}Loghelper4.将以下内容添加到PropertiesAssemblyInfo。cs文件:此代码也可以放在LogHelp中。cs类声明:ConfigFile可以指定相对路径和绝对路径。

1.在项目中引入log4net.dll组件;

2.在App.congfig中做如下修改(可省略)

在加入如下内容:

这个节点最好放在<configuration>下的第一个位置,不然在服务里会报错。

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
 <log4net>
    <!--定义输出到文件中-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--定义文件存放位置-->
      <file value="log\"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="yyyy\yyyyMM\yyyyMMdd'.txt'"/>
      <staticLogFileName value="false"/>
      <param name="MaxSizeRollBackups" value="100"/>
      <layout type="log4net.Layout.PatternLayout">
        <!--每条日志末尾的文字说明-->
        <!--输出格式-->
        <!--样例:2015-06-08 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
        <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n操作类:%logger property: [%property{NDC}] - %n日志描述:%message%newline %n"/>
      </layout>
    </appender>
    <root>
      <level value="INFO"/>
      <!--文件形式记录日志-->
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
config

3.新建LogHelp.cs文件

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usinglog4net;
usingSystem.Diagnostics;
usingSystem.Reflection;
 
namespaceWinService
{
 public classLogHelper
    {
        private static readonly ILog logInfo = LogManager.GetLogger("Log");
        private static readonly ILog logErr = LogManager.GetLogger("Err");
        /// <summary>
        ///记录正常的消息
        /// </summary>
        /// <param name="msg">消息内容</param>
        public static void info(stringmsg)
        {
            logInfo.Info(msg);
        }
        /// <summary>
        ///记录异常信息
        /// </summary>
        /// <param name="msg">异常信息内容</param>
        public static void error(stringmsg)
        {
            StackTrace stackTrace = newStackTrace();
            StackFrame stackFrame = stackTrace.GetFrame(1);
            MethodBase methodBase =stackFrame.GetMethod();
            logErr.Error("类名:" + methodBase.ReflectedType.Name + "方法名:" + methodBase.Name + "信息:" +msg);
        }
    }

}
loghelper

4.在项目的PropertiesAssemblyInfo.cs文件中加入如下内容:

这段代码也可以放到LogHelp.cs类中申明

注意:ConfigFile 可以指定相对路径 和 绝对路径。 eg: /log/xxxx.log 或者 d://log//xxxx.log

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

注意:根据第4步的配置,应该把log4net的配置文件放到项目的bin/Debug 或者 bin/Release目录下,否则会出现找不到配置文件而无法创建logger对象。

(web的项目,直接放在web项目的根目录下即可)

如果loghelp里指定了Log4Net.config,就不用在web.config再次配置(可省略第二步),其实参考

https://blog.csdn.net/coolcoffee168/article/details/7692589

免责声明:文章转载自《log4net 配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unity3d Awake、OnEnable、Start生命周期curl传递大json文件报错解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WEB接口测试之Jmeter接口测试自动化 (二)(数据分离)

转载: http://www.cnblogs.com/chengtch/p/6105231.html 通过逐个录入的方式,好不容易将需要测试几十个接口的300多个测试用例录入sampler-http请求中,固定的测试环境跑起来也还 感觉良好。不料在新服务器环境中跑用例时,问题来了:修改参数维护脚本等成本太大! 脚本参数是写死的,修改起来得一个个请求打开来...

查看loadrunner运行日志

查看loadrunner运行日志   日志分两种 1。在VUGEN中运行后的日志 2。在controller中运行后的日志日志设置分两步: 1。首先,在VUGEN或controller中run-time setting, 选中always send message, 再选择extended log-data returned by server.这...

Go项目实战:打造高并发日志采集系统(一)

项目结构 本系列文章意在记录如何搭建一个高可用的日志采集系统,实际项目中会有多个日志文件分布在服务器各个文件夹,这些日志记录了不同的功能。随着业务的增多,日志文件也再增多,企业中常常需要实现一个独立的日志采集系统,实时采集各个日志信息,并记录和输出到控制台或网页上,方便监控和查询。本文日志采集系统架构如下日志采集系统监控各个日志文件,当日志文件有日志录入时...

android: 记录app运行过程中产生的log

有时在解决问题时,经常需要借助logcat才能分析定位问题,这里写了一个小工具,能够记录app运行期间的log, 这样测试人员在反馈bug时,只需要把logcat发给我们就可以了。具体代码如下: import android.content.Context; import android.content.Intent; import android.net...

pytest文档70-Hook钩子函数完整API总结

前言 pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习。 详细文档可以查看pytest官方文档https://docs.pytest.org/en/latest/reference.html#hooks 钩子函数总结 第一部分:setuptools 引导挂钩要求足够...

springboot-logback

springboot logback配置 1.pattern解析:   %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}   带时区的时间   %level   日志级别   [%thread]   线程名   [%logger{50}:%line]    打印日志对应的方法和行数  [uuid:%X{operation_id}]   这个...