默认的日志

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 >();
  • NServiceBus-日志的更多相关文章

    1. DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等

      DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...

    2. NServiceBus入门:启程(Introduction to NServiceBus: Getting started)

      原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/1-getting-started/ 侵删. 最好的学习NService ...

    3. NServiceBus入门:发送一个命令(Introduction to NServiceBus: Sending a command)

      原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/2-sending-a-command/ 侵删. 能够发送和接收mess ...

    4. NServiceBus:使用自定义log4net

      安装扩展包:NServiceBus.Log4Net Endpoint.cs增加注入 log4net.Config.BasicConfigurator.Configure(); NServiceBus. ...

    5. .NetCore中的日志(2)集成第三方日志工具

      .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

    6. .NetCore中的日志(1)日志组件解析

      .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

    7. Logstash实践: 分布式系统的日志监控

      文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

    8. SQLServer事务同步下如何收缩日志

      事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...

    9. 如何正确使用日志Log

      title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...

    10. 前端学HTTP之日志记录

      前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

    随机推荐

    1. Java 异常 —— java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible

      项目中有个 WebService 接口,调试时使用 Main 方法运行,别人的机器上都能运行,就笔者的机器出问题.他们说是RP的问题…… 异常信息: java.io.InvalidClassExcep ...

    2. FTP命令详解

      FTP的命令行格式为:ftp -v -d -i -n -g [主机IP或者主机名],其中 -v显示远程服务器的所有响应信息: -n限制ftp的自动登录,即不使用: .n etrc文件: -d使用调试方 ...

    3. hadoop优点和缺点

      l扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据. l成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据.这些服务器群总计可达数 ...

    4. hdu3333(线段树)

      区间更新,单点查询. hdu3333 #include <iostream> #include <stdio.h> #include <string.h> #inc ...

    5. bzoj2396: 神奇的矩阵

      与51nod1140一样.不过这题是多组数据的...坑.... #include<cstdio> #include<cstring> #include<cctype> ...

    6. [转载]charisma-master 加载慢的原因及解决方法

      [我的总结] 原文中指出的地址有的已经转换,因为版本问题. 所以根据2014年11月获取的charisma-master版本,应做以下更改: 1.charisma-app.css 这个文件中的外链字体 ...

    7. OC 设计模式——单例模式

      单例模式的作用:可以保证在程序运行过程,一个类只有一个实例,而且这个实例易于供外界访问.永远只分配一次内存给这个类.由于在调用alloc方法的时候,都会调用allocWithZone,所以要重写这个方 ...

    8. 旧书重温:0day2【3】 详细解读PEB法 查找kener32地址

      题外话:上一篇文章中的 PEB法查找kerner32地址的方法 对TEB.PEB .PE结构 知识要求很高,确实在写汇编代码时候小编 感觉自己能力,信手啪啪一顿乱撸,结果一运行,非法访问了,没办法翻阅 ...

    9. hihoCoder #1179 : 永恒游戏 (暴力枚举)

      题意: 给出一个有n个点的无向图,每个点上有石头数个,现在的游戏规则是,设置某个点A的度数为d,如果A点的石子数大于等于d,则可以从A点给每个邻接点发一个石子.如果游戏可以玩10万次以上,输出INF, ...

    10. OGNL valueStack StackContext(ActionContext)深入分析(转+个人理解)

      //还会补充 首先要有一个意识 ,为什么要了解这个?: struts2中的表单是怎么通过表达式(EL or OGNL)来传给Action 和 拿到Action的值的. 值栈(根)对象也可以直接使用EL ...