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类。
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>();
示例使用
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>();
示例使用
LogManager.Adapter = new ConsoleOutLoggerFactoryAdapter();
NServiceBus.Logging.LogManager.Use<CommonLoggingFactory>();
log4Net
有一个nuget包可用,允许简单的NServiceBus和集成log4Net.
Install-Package NServiceBus.Log4Net
然后使用其标准配置Log4net API调用
LogManager.Use<Log4NetFactory>();
示例使用
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-日志的更多相关文章
- DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等
DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...
- NServiceBus入门:启程(Introduction to NServiceBus: Getting started)
原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/1-getting-started/ 侵删. 最好的学习NService ...
- NServiceBus入门:发送一个命令(Introduction to NServiceBus: Sending a command)
原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/2-sending-a-command/ 侵删. 能够发送和接收mess ...
- NServiceBus:使用自定义log4net
安装扩展包:NServiceBus.Log4Net Endpoint.cs增加注入 log4net.Config.BasicConfigurator.Configure(); NServiceBus. ...
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- .NetCore中的日志(1)日志组件解析
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...
- Logstash实践: 分布式系统的日志监控
文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...
- SQLServer事务同步下如何收缩日志
事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...
- 如何正确使用日志Log
title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
随机推荐
- linux环境变量(转)
转自: http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html Linux 的变量可分为两类:环境变量和本地变量 环境变量 或者称为 ...
- 编译Apache Hadoop2.2.0源代码
Hadoop2的学习资料很少,只有官网的少数文档.如果想更深入的研究hadoop2,除了仅看官网的文档外,还要学习如何看源码,通过不断的调试跟踪源码,学习hadoop的运行机制. 1.安装CentOS ...
- No resource found that matches the given name
XML里面明显已经定义了ID,可是android:layout_toLeftOf="@id/text_seller"报错,说没有定义,原来这玩意要写在相对位置对象声明的下面,是有顺 ...
- CSS选择符类型
一.标签选择符:针对某一类标签,可以以标签作为选择符 <style type="text/css"> p{color:#F00; font-size:36px;} &l ...
- jsp之jstl标签
常用jstl标签 一.<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ...
- bootstrapValidator对于隐藏域验证和程序赋值即时验证的问题
问题1: 如下代码: <input type="hidden" name="productId"/> $("#addForm") ...
- Web Forms vs Web MVC
MVC相对于WebForm来说更难学习,但性能优于WebForm,比较适合大型项目,开发成本较高,但耦合度低,易于维护,没有太多的现成控件,开发效率较低.对WebForm有基础的人反而不太容易学MVC ...
- BZOJ 1452 Count
长知识啦..二维BIT. #include<iostream> #include<cstdio> #include<cstring> #include<alg ...
- cocoStudio UI编辑器 学习总结
一.控件 控件基类 UIWidget:所有UI控件的基类 addChild:添加UIWidget类型的节点 addRenderer:添加CCNode类型的节点 所有UIWidget,都可以设置成触摸s ...
- 每天一个Linux命令(3): cd
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. ...