我有一个可安装的ASP.Net应用程序,它正在使用Common.Logging进行日志记录。
当写入日志消息时,即:
_log.InfoFormat(CultureInfo.???, "{0}: Writing to the Log", DateTime.UtcNow);我对我应该使用哪种文化感到困惑。我想要的结果是使用服务器的区域设置对日志消息进行格式化。这样,当管理员安装应用程序时,他们就可以控制日志消息的格式化方式。
有四种选择,但似乎都不是正确的选择:
我想知道是否需要在web.config中为系统区域性添加显式配置,以便安装程序可以选择区域性。我真正想要的答案是,CultureInfo.CurrentCulture在ASP.Net更改它以匹配当前用户之前是什么样子的。
注意:我知道我可以关闭ASP.Net,改变每个用户的CurrentCulture,但是UI依赖于这种行为。
发布于 2012-10-30 03:41:46
管理员喜欢控制日志。告诉他们去配置他们的服务器区域性,以便日志以一种特定的格式进行,这对我来说似乎不是最好的解决方案。
在web.config中添加一个配置选项是个好主意。这将允许管理员根据需要配置日志格式。
与其询问用户,您可以在使用CultureInfo.CurrentCulture进行安装时进行智能猜测。如果用户希望它是不同的东西,他总是可以改变它。
如果您确实希望从CultureInfo.CurrentCulture而不是配置中获取它,可以在Application_Start事件期间选择它,并将其保存在应用程序上下文中。
https://stackoverflow.com/questions/13131913
复制相似问题