我有一个可安装的ASP.Net应用程序,它使用Common.Logging进行日志记录。
编写日志消息时:
_log.InfoFormat(CultureInfo.???, "{0}: Writing to the Log", DateTime.UtcNow);
我对我应该使用哪种文化感到困惑。我想要的结果是使用服务器的区域设置格式化日志消息。这样,当管理员安装应用程序时,他们可以控制日志消息的格式化。
有四种选择但似乎没有一种是正确的选择:
我想知道是否需要在web.config中为系统文化添加显式配置,以便安装程序可以选择文化。我真正想要的答案是,在ASP.Net将其更改为与当前用户匹配之前,CultureInfo.CurrentCulture是什么。
注意:我知道我可以关闭ASP.Net来更改每个用户的CurrentCulture,但是UI依赖于这种行为。
答案 0 :(得分:1)
管理员喜欢控制日志。告诉他们配置他们的服务器文化,以便日志采用特定格式似乎不是我的最佳解决方案。
在web.config中添加配置选项是个好主意。这将让管理员根据需要配置日志格式。
在使用CultureInfo.CurrentCulture
安装时,您可以做出明智的猜测,而不是询问用户。如果用户想要它是不同的东西,他总是可以改变它。
如果您确实想要从CultureInfo.CurrentCulture
而不是配置中获取它,您可以在Application_Start
事件期间选择它,并将其保留在应用程序上下文中。