如何使WebLogic在server / logs目录下创建子文件夹?

时间:2009-10-01 05:03:28

标签: log4j weblogic

我们都知道WebLogic服务器在服务器启动时在logs目录下创建DOMAIN_HOME/servers/SERVER_NAME目录。但现在我希望WebLogic在服务器启动时创建我的应用程序特定日志目录,如下所示。

DOMAIN_HOME/servers/SERVER_NAME/logs/myAppLogs/

在哪里进行配置更改?

谢谢你, 切塔尼亚

3 个答案:

答案 0 :(得分:2)

您可以在下面尝试,这可以在weblogic服务器上使用,其中weblogic.Name默认在启动时的java系统属性上添加,主要默认在多个weblogic受管节点上。

<param name="File" value="servers/${weblogic.Name}/logs/${weblogic.Name}-specific-name.log"/>

答案 1 :(得分:1)

请参阅管理控制台联机帮助中的Change server log file name and location

编辑:根据评论,OP实际上想要一个文件追加器来创建父路径的目录(如果它们不存在)。我不知道使用了什么版本的weblogic和log4j但是根据9150,旧版本的log4j没有实现这种行为:

  

我们不能假设log4j将具有目录创建权限,只能写入   对配置中指定的文件的权限。这取决于服务器   管理员来控制目录树。

这应该在版本1.2.12及更高版本中修复。

PS:我真的更喜欢在一台机器上查找同一位置的所有日志,例如/var/log/weblogic/<PROJECTNAME>/myApp-${weblogic.Name}.log。找到最后更改的文件,grep日志文件等

非常容易

答案 2 :(得分:0)

您的log4jconfig.xml文件应配置为在所需位置生成日志文件。 log4jconfg.xml文件中的示例参数道具如下所示

<param name="File" value="DOMAIN_HOME/servers/SERVER_NAME/logs/myAppLogs/MyLog.txt"/>
<param name="Append" value="true"/>
<param name ="MaxFileSize" value="20480KB"/>
<param name="ConversionPattern" value="%d %p %c %x - %m%n"/>