2010-04-15 87 views
2

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

(这是我设置的文件名如:LOG_%日期%.LOG)

回答

2

我放弃了对日志记录应用程序块,并切换到log4net的。 Log4net允许我使用web.config设置将日志的名称设置为今天的日期。我写代码项目的文章,说明如何获取log4net的使用策略注入应用程序块here

5

@Robertc工作,我知道这个问题已经被标记,但我想我有一个绝招,你可以用你的下一个项目:使用你自己的环境变量!

E.g. 您对日志程序块

Environment.SetEnvironmentVariable("MYDATE", "15/07/2010"); // << change the hardcoded date to get from DateTime 
Debug.WriteLine (Environment.ExpandEnvironmentVariables(@"c:\Log\Log_%MYDATE%.log")); 

任何呼叫在你的app.config之前,在适当的滚动平面文件跟踪侦听

FileName=Log_%MYDATE%.log 

注:这招只会如果重新启动你的工作每日应用。

相关问题