weblogic中将控制台信息打印到log文件中

默认weblogic中控制台启动之后会在命令行中标准输出一些信息,在没有使用log4j的情况下,想要获取在控制台输出的信息需要进行一些设置

打开C:\bea\user_projects\domains\域名\startWebLogic.cmd文件


set DOMAIN_HOME=C:\bea\user_projects\domains\base_domain_second

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*

修改call这行为如下代码

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> stdout.log   2> stderr.log%*

也可以这样写
call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> c:\stdout.log   2> c:\stderr.log%*
重启服务,控制台信息就被转移到你指定的文件中了。希望对大家有所帮助。

使用过程中发现重启服务会出现日志覆盖的情况

解决思路如下:
在startWebLogic.cmd文件中增加时间相关的字符串,拼接成文件名,保证每次重启的时候文件不会重名

具体代码如下:
// 设置 yyyy_mm_dd 格式的日期
set sbtmpdate=%date:~0,4%_%date:~5,2%_%date:~8,2%
// 设置 HHmmss 格式的时间
set sbtmptime=%time:~0,2%%time:~3,2%%time:~6,2%
// 随机数
set randomtmp=%random%
set r=%sbtmpdate%_%sbtmptime%.%randomtmp%

// 将变量赋值到文件名中
call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1>stdMsg-%r%.log 2>stdErr-%r%.log%*

猜你喜欢

转载自493420337.iteye.com/blog/1684365