相关疑难解决方法(0)

最有用的NLog配置

使用NLog进行日志记录的最佳或最有用的配置是什么?(只要它们有用,它们可以是简单的也可以是复杂的.)

我正在考虑一些示例,例如自动滚动特定大小的日志文件,更改布局(日志消息)是否存在异常,一旦发生错误就升级日志级别等.

以下是一些链接:

.net mono logging nlog

342
推荐指数
9
解决办法
20万
查看次数

在NLog中运行时添加/删除日志文件

我正在写一个小文件转换实用程序.文件在放入目录时会自动转换.

我正在使用NLog进行日志记录.除了使用NLog.conf配置的中央日志文件(并接收生成的所有消息)之外,我还想为每个输入文件创建一个额外的日志文件,它具有相似的名称并包含在转换过程中写入的所有日志消息.

不幸的是,我似乎无法在运行时找到如何正确添加新文件目标和相应规则.我希望Logger在转换过程中所有对象都写入新的日志文件.

我试过类似的东西

var logfile = new NLog.Targets.FileTarget();
logfile.FileName = fileName + ".log";
logfile.KeepFileOpen = true;
logfile.Initialize();
var rule = new NLog.Config.LoggingRule("*", logfile);
NLog.LogManager.Configuration.LoggingRules.Add(rule);
NLog.LogManager.ReconfigExistingLoggers();
//
// Proceed with converting file
//
logfile.Flush();
NLog.LogManager.Configuration.LoggingRules.Remove(rule);
NLog.LogManager.ReconfigExistingLoggers();
Run Code Online (Sandbox Code Playgroud)

但是没有创建日志文件.

我错了什么?任何的想法?

.net c# logging nlog

29
推荐指数
1
解决办法
1万
查看次数

以编程方式添加,启用和禁用NLog记录器

如何从NLog的代码添加,编辑,删除,启用和禁用记录器?

c# nlog

19
推荐指数
2
解决办法
1万
查看次数

NLog配置文件,用于从web.config获取配置设置值

有没有一种方法可以从<ApplicationSettings>NLog布局变量中的web.config部分获取值?

我已经在我的web.config中存储了SMTP详细信息,并且不希望复制这些设置只是为了在我的NLog.config中使用.

理想情况下,我想做类似的事情:${aspnet-config:SmtpHostServer} 然后从web.config中获取值

web-config nlog appsettings

11
推荐指数
2
解决办法
7701
查看次数

NLog使用NLog.config动态更改文件名

如何使用C#中的变量动态更改FileName?我的想法是创建一个像日志文件Log_<UserId_From_DB>_${date:format=yyyy-MM-dd}.log.有任何想法吗?

c# nlog common.logging

5
推荐指数
3
解决办法
4717
查看次数

NLog配置API:使用存储在变量中的布局

我的应用程序为应用程序本身创建了一个日志,因此记录它何时被激活,以及在应用程序级别发生了什么.

应用程序以"配置文件"为中心 - 用户加载一个配置文件,告诉应用程序在何处/何时/什么/如何.所以我还想为每个配置文件创建一个日志,以便在每次运行配置文件时记录进度.

到目前为止没有问题...除了我希望配置文件日志与配置文件本身一起存储,所以这意味着我需要动态配置NLog,所以我可以在运行时告诉它fileTarget路径.

但是,我还想将我想要使用的标准布局存储为NLog.config中的变量; 这似乎是我所读过的常用方法.

但是,在以下行

fileTarget.Layout = "${myLayout}"
Run Code Online (Sandbox Code Playgroud)

...我得到一个ArgumentException:

LayoutRenderer cannot be found: 'myLayout'
Run Code Online (Sandbox Code Playgroud)

目前,我的布局变量很简单:

<variable name="myLayout" value="${message}" />
Run Code Online (Sandbox Code Playgroud)

是不是您不能使用变量来通过API指定布局?如果是这样的话,我会感到惊讶.或者我在哪里出错了?

解决方案很简单 - 我可以fileTarget.Layout使用手动指定的布局填充,但是,我很想知道计划A是否可以工作.

.net configuration logging nlog

3
推荐指数
1
解决办法
2837
查看次数