zoukankan      html  css  js  c++  java
  • log4net 打印调试信息到 Visval Studio 调试输出窗口; output debug infomation to output window

    1.Web.config:
    <appSettings>
          <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
    

      

    2.log4net_config_file.xml

    <appender name="DebugAppender" type="log4net.Appender.DebugAppender, log4net" >
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
          </layout>
        </appender>
    ...
    
      <logger name="logger_name" debug="false">
            <level value="Debug" />
            <appender-ref ref="RollingLogFileAppender" />
            <appender-ref ref="DebugAppender" />
        </logger>
    

     

    3. cs:

    private static readonly ILog logger = LogManager.GetLogger("logger_name");
    
    //...
    if (logger.IsDebugEnabled) {
                    logger.Debug("请求时返回数据: " + some infomation);
                }
    

      

    How do I enable log4net innteral debugging?

    There are 2 different ways to enable internal debugging in log4net. These are listed below. The preferred method is to specify the log4net.Internal.Debug option in the application's config file.

    • Internal debugging can also be enabled by setting a value in the application's configuration file (not the log4net configuration file, unless the log4net config data is embedded in the application's config file). The log4net.Internal.Debug application setting must be set to the value true. For example:
      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
          <appSettings>
              <add key="log4net.Internal.Debug" value="true"/>
          </appSettings>
      </configuration>

      This setting is read immediately on startup an will cause all internal debugging messages to be emitted.

    • To enable log4net's internal debug programmatically you need to set the log4net.Util.LogLog.InternalDebugging property to true. Obviously the sooner this is set the more debug will be produced.

    Internal debugging messages are written to the console and to the System.Diagnostics.Trace system. If the application does not have a console the messages logged there will be lost. Note that an application can redirect the console stream by setting the System.Console.Out. The Trace system will by default send the message to an attached debugger (where the messages will appear in the output window). If the process does not have a debugger attached then the messages are sent to the system debugger. A utility like DebugView from http://www.sysinternals.com may be used to capture these messages.

    As log4net internal debug messages are written to the System.Diagnostics.Trace system it is possible to redirect those messages to a local file. You can define a trace listener by adding the following to your application's .config file:

    <configuration>
        ...
        
        <system.diagnostics>
            <trace autoflush="true">
                <listeners>
                    <add 
                        name="textWriterTraceListener" 
                        type="System.Diagnostics.TextWriterTraceListener" 
                        initializeData="C:\tmp\log4net.txt" />
                </listeners>
            </trace>
        </system.diagnostics>
    
        ...
    </configuration>

    Make sure that the process running your application has permission to write to this file.

    from:http://logging.apache.org/log4net/release/faq.html

  • 相关阅读:
    Maven——下载、安装、环境变量配置
    APP——自动化——java——截图到桌面
    APP——自动化——java——锁屏
    APP——自动化——java——设置和查看横屏和竖屏
    APP——自动化——java——程序后台运行,关闭、启动、是否安装第三方app、删除第三方app、安装第三方app
    APP——自动化——java——程序安装好,直接调用
    APP——自动化——java——初始化安装程序
    APP——自动化——python——driver其他常用的方法
    APP——自动化——python——swipe从坐标点滑动到坐标点以及其它滑动
    APP——自动化——python——设置网络模式
  • 原文地址:https://www.cnblogs.com/wucg/p/2163888.html
Copyright © 2011-2022 走看看