当前位置: 代码迷 >> Web前端 >> weblogic 控制台日志封存
  详细解决方案

weblogic 控制台日志封存

热度:668   发布时间:2014-01-03 00:30:09.0
weblogic 控制台日志保存

windows:

默认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%*

?

?

aix,linux等:

?

启动weblogic,可以参考如下命令:

nohup ./startWebLogic.sh &

查看后台(nohup 会在当前目录下生成一个nohup.out文件作为输出)

tail -f nohup.out

或者: nohup ./startWebLogic.sh >日志文件名 &

查看后台 tail -f 日志文件名 ?

关闭weblogic,我们更倾向于直接杀掉weblogic进程: ps -ef|grep java 查找到进程ID之后,直接运行如下命令: kill -9 ID ??

?

  相关解决方案