我正在开发一个应用程序,该应用程序利用 NLog 来允许我们跟踪工作流程的执行情况。每次执行都会指定一个“跟踪 ID”(GUID),该 ID 会一直保留以将编写和发送的消息捆绑在一起。理想情况下,我们希望使用名称中的跟踪 ID 将每次执行记录到它自己的日志文件中。例如
Logs\MyExecution_97301078-2119-48e9-876d-64002257b399.txt
Logs\MyExecution_1e5b60d5-95b5-4fdc-94cc-886d379e2b13.txt
Logs\MyExecution_07b427a9-106d-4865-a288-625e1cd56dd1.txt
使用 NLog 目标可以实现这一目标吗?
最佳答案
您不限于在配置文件中注册多个记录器;您可以使用 Configuration API 。例如(取自链接,您可能需要根据您的情况进行编辑)
// create configuration object
var config = new LoggingConfiguration();
// create a target
var fileTarget = new FileTarget();
config.AddTarget("SomeName", fileTarget);
// set properties
fileTarget.FileName = "something/guid.txt";
// activate the configuration
LogManager.Configuration = config;
关于c# - NLog 目标文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297813/