zoukankan      html  css  js  c++  java
  • NServiceBus-日志

    默认的日志

    NServiceBus一些有限,固执己见,内置的日志记录。

    默认的日��行为如下:

    控制台

    所有 Info(及以上)消息将被输送到当前的控制台。

    错误将会写 ConsoleColor.Red。将书面警告 ConsoleColor.DarkYellow。所有其他消息将被写 ConsoleColor.White.

    跟踪

    所有 Warn(及以上)消息将被写入 Trace.WriteLine.

    滚动的文件

    所有 Info(及以上)的消息将被写入一个滚动的日志文件。

    这个文件将保持10 mb /文件和最多10个日志文件。

    默认的日志目录 HttpContext.Current.Server.MapPath("~/App_Data/")对网站和AppDomain.CurrentDomain.BaseDirectory所有其他进程。

    默认的文件名 nsb_log_yyyy-MM-dd_N.txt,在那里 N是当日志文件达到的序列号的最大大小。

    日志级别

    支持的日志记录级别

    • 调试
    • 信息
    • 警告
    • 错误
    • 致命的

    改变默认设置

    通过改变设置配置

    的主要参数是测井分辨率多少信息记录。日志只在生产场景错误通常是可取的,因为它提供了最佳性能。然而,当系统出现异常波动,有更多的信息记录可以给更大的了解是什么导致了这个问题。这是由应用程序配置文件控制包括以下条目:

    <configSections>
    <section name="Logging" type="NServiceBus.Config.Logging, NServiceBus.Core" />
    </configSections>
    <Logging Threshold="Debug" />
    

    Threshold值的属性 Logging元素可以是任意的 Debug, Info, Warn, Error Fatal.

    Threshold表明将输出的日志级别。例如一个值 Warn意味着所有 Warn, Error Fatal将输出消息。

    修改配置有影响,必须重新启动的过程。

    通过代码更改设置

    代码可以配置水平和日志目录。要做到这一点,使用 LogManager类。

    • v5

      编辑

      var defaultFactory = LogManager.Use<DefaultFactory>();
      defaultFactory.Directory("pathToLoggingDirectory");
      defaultFactory.Level(LogLevel.Debug);
      

      确保你之前任何总线配置就完成了。

      自定义日志记录

      对于更高级的日志记录,建议您使用的成熟的可用于. net日志库。

      移动定制日志意味着没有在上面使用的方法默认的日志适用。

      当配置日志记录

      重要的是要配置日志进行任何总线配置之前,因为日志配置在每个NServiceBus类的静态上下文。所以它应该配置启动的应用程序,例如

      • 开始的时候 Main一个控制台应用程序或windows服务。
      • 在类的构造函数实现 IConfigureThisEndpoint当使用NServiceBus.Host.
      • 在你的开始 Global.Application_Start在asp.net应用程序中。
      NLog

      有一个nuget包可用,允许简单的NServiceBus和集成NLog.

      Install-Package NServiceBus.NLog
      

      然后使用其标准配置NLog API调用

      LogManager.Use<NLogFactory>();
      

      示例使用

      • v5

        编辑

        var config = new LoggingConfiguration();
        
        var consoleTarget = new ColoredConsoleTarget
        {
            Layout = "${level}|${logger}|${message}${onexception:${newline}${exception:format=tostring}}"
        };
        config.AddTarget("console", consoleTarget);
        config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, consoleTarget));
        
        LogManager.Configuration = config;
        
        NServiceBus.Logging.LogManager.Use<NLogFactory>();
        
        CommonLogging

        有一个nuget包可用,允许简单的NServiceBus和集成CommonLogging.

        Install-Package NServiceBus.CommonLogging
        

        然后使用其标准配置CommonLogging API调用

        LogManager.Use<CommonLoggingFactory>();
        

        示例使用

        • v5

          编辑

          LogManager.Adapter = new ConsoleOutLoggerFactoryAdapter();
          
          NServiceBus.Logging.LogManager.Use<CommonLoggingFactory>();
          
          log4Net

          有一个nuget包可用,允许简单的NServiceBus和集成log4Net.

          Install-Package NServiceBus.Log4Net
          

          然后使用其标准配置Log4net API调用

          LogManager.Use<Log4NetFactory>();
          

          示例使用

          • v5

            编辑

            var =新PatternLayout布局
            {
            ConversionPattern = " % d[t]% % 5 p % c[x]% - % m % n”
            };
            layout.ActivateOptions();
            新ColoredConsoleAppender var consoleAppender =
            {
            阈值= Level.Debug,
            布局=布局
            };
            consoleAppender.ActivateOptions();
            新RollingFileAppender var fileAppender =
            {
            DatePattern = " yyyy-MM-dd . txt”,
            RollingStyle = RollingFileAppender.RollingMode.Composite,
            MaxFileSize = 10 * 1024 * 1024,
            MaxSizeRollBackups = 10,
            新FileAppender.MinimalLock LockingModel =(),
            StaticLogFileName = false,
            文件= @“nsblog”,
            布局=布局,
            AppendToFile = true,
            阈值= Level.Debug,
            };
            fileAppender.ActivateOptions();
            
            BasicConfigurator。配置(fileAppender consoleAppender);
            
            LogManager.Use < Log4NetFactory >();
          查看全文
        • 相关阅读:
          python之九九乘法表
          python之生成随机密码
          selenium以及浏览器驱动下载安装
          Monkey命令
          Android SDK Manager仅有一个版本的问题
          截图工具无法使用解决方法
          jmeter服务器监控插件指标简单说明
          mysql字符集小结
          mysql创建新的用户及flush privileges解析
          MySql添加远程超级管理员用户
        • 原文地址:https://www.cnblogs.com/powerxu/p/4294310.html
        • Copyright © 2011-2022 走看看