Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 将日期添加到日志应用程序块中的日志文件名_Logging_Enterprise Library_Application Blocks - Fatal编程技术网

Logging 将日期添加到日志应用程序块中的日志文件名

Logging 将日期添加到日志应用程序块中的日志文件名,logging,enterprise-library,application-blocks,Logging,Enterprise Library,Application Blocks,我正在使用Microsoft日志应用程序块(版本5 beta 2),并尝试将日志文件的文件名动态设置为年、月、日(然后每天编写一个新的日志文件)。但是,在运行时,记录器会忽略任何动态环境变量,例如%date%、%time%或%cd%。我可以将静态环境变量添加到文件名(例如%username%),但不能添加动态环境变量。有人知道如何让滚动平面文件跟踪侦听器在日志文件名中动态设置日期吗 (这就是我将文件名设置为:Log_u%date%.Log)我放弃了日志应用程序块,转而使用log4net。Log4

我正在使用Microsoft日志应用程序块(版本5 beta 2),并尝试将日志文件的文件名动态设置为年、月、日(然后每天编写一个新的日志文件)。但是,在运行时,记录器会忽略任何动态环境变量,例如%date%、%time%或%cd%。我可以将静态环境变量添加到文件名(例如%username%),但不能添加动态环境变量。有人知道如何让滚动平面文件跟踪侦听器在日志文件名中动态设置日期吗


(这就是我将文件名设置为:Log_u%date%.Log)

我放弃了日志应用程序块,转而使用log4net。Log4net允许我使用web.config设置将日志名称设置为今天的日期。我写了一篇关于代码项目的文章,展示了如何让log4net与策略注入应用程序块一起工作,我知道这个问题已经被标记了,但我想我有一个技巧可以用于下一个项目:使用您自己的环境变量

例如。 在调用日志块之前

Environment.SetEnvironmentVariable("MYDATE", "15/07/2010"); // << change the hardcoded date to get from DateTime
Debug.WriteLine (Environment.ExpandEnvironmentVariables(@"c:\Log\Log_%MYDATE%.log"));
注意:只有每天重新启动应用程序,此技巧才有效。

FileName=Log_%MYDATE%.log