2012-07-16 61 views
0

我正在使用spring/hibernate应用程序。我正在使用log4j进行日志记录。问题是我需要在log4j.properties文件中放置一个占位符,我需要根据环境(Dev,UAT或Production)将值设置为占位符。如何在log4j.properties文件中为占位符设置值?

Environment=${environment} 

这可能吗?请帮帮我。

谢谢!

回答

1

为什么不使用单独的键,并在运行时选择正确的键?

Environment.dev=Development 
Environment.prod=Production 
Environment.qa=QA 

bundle.getKey(ENVIRONMENT_KEY_PREFIX + ".dev"); 
+0

感谢乌拉圭回合答复:

-DEnvironment=dev 

那么您可以在喜欢的日志文件中使用此。我需要在哪里放置下面的属性? Environment.dev =开发 Environment.prod =生产 Environment.qa = QA – user1016403 2012-07-16 10:45:56

+0

我不确定,但我可能误会了你的要求。为什么需要log4属性文件中的占位符?这应该是相对环境特定的,应该由安装应用程序的人来设置。我的答案假设你想在日志本身注销环境名称。 – Matt 2012-07-16 14:04:30

4

您可以通过命令行或设置环境变量来传递变量和值,如下所示。

Environment=${Environment} 
+0

可能需要看看这里的环境与环境的情况 – davidfrancis 2012-07-16 10:58:40

+0

@amicngh,谢谢你的回复。环境变量,我们有系统变量和用户变量(右键单击mycomputer-> properties-> Advanced-> environmentvariables)。我应该在哪里设置?谢谢! – user1016403 2012-07-16 11:01:44

+0

@ user1016403。不要这样设置。如果运行java应用程序,然后像java -DEnvironment = dev HelloWorld一样传递它 – amicngh 2012-07-16 11:09:03

相关问题