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 >();
  • 时间: 2024-10-18 04:24:07

    NServiceBus-日志的相关文章

    发布/订阅配置

    发布/订阅配置 的部分入口声明消息= "消息"意味着组装"消息.dll包含消息模式".特定类型可以配置使用限定名称: namespace.type, assembly. 声明部分端点= " messagebus "告诉订阅者的总线对象,出版商接受订阅请求队列.队列名称"messagebus"简称"队列命名messagebus在本地机器上".来表示一个队列在远程机器上,使用类似于电子邮件的格式:[email 

    NServiceBus主机

    为了避免重写代码相同的配置,或举办你的端点在Windows服务中,使用 NServiceBus.Host.exe,这也可以作为一个控制台运行. NServiceBus主机简化服务的开发和部署,没有代码,允许你改变技术和administrator-friendly当设置权限和账户. 使用主机就创建一个新的c#类库和引用NServiceBus.主机NuGet包 install-package NServiceBus.Host 就这样,计划将创建一个示例NServiceBus.Host端点配置和设置.

    NServiceBus主机概要文件

    移动系统可靠地从开发到测试到生产是任何开发组织的核心能力. 手动配置和代码更改使这个过程出错,让版本控制系统的一个噩梦. NServiceBus主机提供了设施的资料专门来缓解这一过程并提供结构时,版本控制系统的配置.读到的主机. 配置困难 开始NServiceBus发展并不总是一件容易的事情.有许多配置选项级别的日志记录.技术用于存储用户,和类型的事件存储(等等).通常情况下,你想要一个合适的所有这些选项的组合,只要以后你可以改变它.资料给你这种灵活性. NServiceBus附带三个配置文件的

    winform学习日志(二十三)---------------socket(TCP)发送文件

    一:由于在上一个随笔的基础之上拓展的所以直接上代码,客户端: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using Sys

    MySQL binlog日志恢复数据

    我们了解了MySQL 的 binlog 日志的开启方式以及 binlog 日志的一些原理和常用操作,我们知道,binlog 有两大作用,一个是使用 binlog 恢复数据,另一个就是用来做主从复制.本篇笔记就是来记录如何使用 binlog 日志来做数据恢复.当然了,使用 binlog 日志所恢复的数据只能是部分数据,并不能够使用 binlog 日志来做数据库的备份,如果想要做数据库备份,依然要使用我们传统的备份方法,而 binlog 可以作为增量备份. 视频链接:http://www.ronco

    sparkStreaming结合sparkSql进行日志分析

    package testimport java.util.Propertiesimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.sql.{SQLContext, SaveMode}import org.apache.spark.streaming.Secondsimport org.apache.spark.streaming.StreamingContext

    ELK 日志分析系统

    架构如下,logstash-agent ---->redis---->logstash-server----->elasticsearch---->kibana 需求:想收集多个log文件,例如/var/log/messages,  /var/log/logstash/logstash.err  两个日志文件: logstash     input和output  如何写, input { file  { path => "/var/log/messages&quo

    log4j日志基本配置

    Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用

    【Docker常见问题2】如何设置容器日志大小和保留个数

    举例:当tomcat容器的运行,容器占用空间越来越大,约1个月就会超过2G,如何解决? 步骤1:查看容器日志大小:假设容器目录为/var/lib/docker/containers,那么执行如下命令 cd /var/lib/docker/containers  #进入默认容器空间目录 du -sh *            #统计文件大小2.4G  de92a5643f7ffb106f8abba21fc0f93996842917a52879153adc95a73312934a-json.log

    ABP官方文档翻译 4.6 审计日志

    审计日志 介绍 关于IAuditingStore 配置 通过特性启用/禁用 注意事项 介绍 维基百科:“审计追踪(也称为审计日志)是与安全相关的按时间先后的记录.记录集合.记录的目的地和源,提供一系列活动的纪实证据,这些活动可能在任何时刻影响一个特定操作.过程或事件.” ABP提供了基础设施自动记录应用所有的交互.它可以记录方法调用的调用者和参数. 基本上,保存的字段有:相关的tenant id,调用者user id,调用者service name(调用方法的类),调用者method name,