Tag: nlog

什么时候应该使用Tracing vs Logger.NET,Enterprise Library,log4net或Ukadc.Diagnostics?

如何select标准跟踪,Logger.NET,企业库,log4net或Ukadc.Diagnostics? 有一种比另一种更合适的情况吗? 那会是什么? (ASP.NET,控制台应用程序,Azure Cloud,SOHO,Enterprise …) 有什么好处或缺点? 我错过了其他主要的日志框架吗?

Web API 2.1和NLog中的全局exception处理

在Web API 2.1中是新的全局error handling 。 我发现了一些例子,如何将exceptionlogging到Elmah( elmah示例 )中。 但是我使用NLog将错误logging到数据库表中。 使用NLog的Web API全局error handling是否可行? 请举一些例子。

如何让NLog写入数据库

我试图让NLoglogin到我的数据库日志表,但无济于事。 我敢肯定,我的连接string是正确的,因为它与我的web.config中其他地方一样。 写出来的文件工作正常,所以我知道这不只是NLog,但一定是我做错了什么。 以下是我的NLogconfiguration: <!– NLOG CONFIGURATION –> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target name="file" xsi:type="File" fileName="${basedir}/logs/Log ${shortdate}.txt" layout="${longdate} ${callsite} ${level}: ${message} ${exception:format=Message,StackTrace} ${stacktrace}" /> <target type="Database" name="database" connectionstring="MyConnectionString"> <commandText> insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [Exception], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @exception, @stackTrace); </commandText> <parameter name="@createDate" layout="${longdate}"/> <parameter name="@origin" layout="${callsite}"/> <parameter name="@logLevel" layout="${level}"/> […]

使用NLogloggingexception时如何获取堆栈跟踪?

当我使用NLog的默认布局时,它只打印exception的名称。 我已经被告知log4jxmlevent布局不会打印任何exception。 什么布局会帮助我? 示例代码: try { throw new SystemException(); } catch (Exception ex) { logger.Error("oi", ex); } 默认布局输出: 2011-01-14 09:14:48.0343|ERROR|ConsoleApplication.Program|oi log4jxmlevent输出: <log4j:event logger="ConsoleApplication.Program" level="ERROR" timestamp="1295003776872" thread="9"> <log4j:message>oi</log4j:message> <log4j:NDC /> <log4j:locationInfo class="ConsoleApplication.Program" method="Void Main(System.String[])" file="C:\Users\User\Documents\Visual Studio 2010\Projects\ConsoleApplication\ConsoleApplication\Program.cs" line="21" /> <nlog:eventSequenceNumber>3</nlog:eventSequenceNumber> <nlog:locationInfo assembly="ConsoleApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <log4j:properties> <log4j:data name="log4japp" value="true" /> <log4j:data name="log4jmachinename" value="MACHINE" /> </log4j:properties>

我怎样才能输出NLog的东西到vs2008'输出'窗口?

我正在使用NLoglogging我的东西。 我试图将输出发送到控制台(或colouredconsole)…我希望会去任何ASP.NET网站/应用程序/ MVC应用程序的Visual Studio的“OUTPUT”窗口。 不是。 如果我将目标更改为“文件”,那么它肯定有效。 NLog可以输出到Web应用程序的“输出”窗口吗?

dependency injection和命名logging器

我有兴趣进一步了解人们如何使用dependency injection平台来注入日志。 尽pipe下面的链接和我的示例都提到了log4net和Unity,但我不一定会使用这两者中的任何一个。 对于dependency injection/ IOC,我可能会使用MEF,因为这是项目其他部分(大)正在解决的标准。 我对dependency injection/ ioc非常陌生,对于C#和.NET来说很新颖(在VC6和VB6的过去10多年中,在C#/ .NET中写了很less的生产代码)。 我已经做了很多调查,在那里的各种日志logging解决scheme,所以我认为我有一个体面的处理他们的function集。 我只是不太熟悉,用实际的机制来获得一个dependency injection(或者,也许更“正确”,得到一个注入的dependency injection的抽象版本)。 我已经看到其他与日志和/或dependency injection相关的post,如: dependency injection和日志接口 logging最佳实践 Log4Net Wrapper类是什么样的? 再次关于log4net和Unity IOCconfiguration 我的问题没有具体与“如何使用ioc工具yyy注入日志logging平台xxx”? 相反,我感兴趣的是人们如何处理包装日志平台(通常,但并不总是推荐)和configuration(即app.config)。 例如,以log4net为例,我可以configuration(在app.config中)一些logging器,然后以这样的代码的标准方式获得这些logging器(没有dependency injection): private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 另外,如果我的logging器不是为一个类命名的,而是一个function区域,我可以这样做: private static readonly ILog logger = LogManager.GetLogger("Login"); private static readonly ILog logger = LogManager.GetLogger("Query"); private static readonly ILog logger = […]

log4net与Nlog

任何人都有经验? 他们如何相互堆叠? 我们正计划使用其中一个login企业应用程序。 参考文献: log4net的 n日志 编辑:我们没有现有的依赖nlog或log4net。

最有用的NLogconfiguration

使用NLoglogging最好或最有用的configuration是什么? (这些可以简单或复杂,只要它们有用。) 我想到了一些例子,例如自动滚动日志文件到特定大小,更改布局(日志消息),是否有exception,发生错误时升级日志级别等。 这里有一些链接: NLog演示 源代码中的示例