温馨提示×

Ubuntu中WebLogic日志如何查看与分析

小樊
43
2025-12-26 12:10:00
栏目: 智能运维

Ubuntu中WebLogic日志查看与分析

一 日志位置与类型

  • 常用目录与文件
    • 服务器日志:位于**$DOMAIN_HOME/servers/<Server_Name>/logs/<Server_Name>.log**,记录启动、关闭、部署与运行期错误等核心信息。
    • 域日志:位于**$DOMAIN_HOME/servers/<AdminServer_Name>/logs/<Domain_Name>.log**,汇聚域内各服务器的重要事件,便于集中监控
    • 访问日志:位于**$DOMAIN_HOME/servers/<Server_Name>/logs/access.log**,记录HTTP请求时间、来源IP、请求资源、状态码、字节数等,用于分析访问与性能。
    • 控制台输出:位于**$DOMAIN_HOME/servers/<Server_Name>/logs/stdout.logstderr.log**,对应标准输出/错误,常用于观察启动期控制台信息。
  • 快速定位
    • 确认域目录:执行echo $DOMAIN_HOME;进入日志目录:cd $DOMAIN_HOME/logs 或 cd $DOMAIN_HOME/servers/<Server_Name>/logs
    • 列出并筛选最新文件:ls -lt | head;进入具体服务器目录查看对应 .logaccess.log

二 命令行查看与检索

  • 实时查看
    • 跟踪服务器日志:tail -f $DOMAIN_HOME/servers/<Server_Name>/logs/<Server_Name>.log
    • 跟踪控制台输出:tail -f $DOMAIN_HOME/servers/<Server_Name>/logs/stdout.log
  • 检索与上下文
    • 关键字检索:grep ‘ERRORserver.log;高亮并统计:grep --color=auto -n ‘Exceptionserver.log
    • 上下文查看:grep -C 5OutOfMemoryErrorserver.log(前后5行);或 -A/-B 查看后/前N行
    • 按时间定位启动完成:grep -n ‘Server started in RUNNING modeserver.log
  • 大文件分析
    • 查看尾部:tail -n 200 server.log
    • 行号+检索:cat -n server.log | grep ‘关键字
    • 按时间排序查看最新:ls -lt $DOMAIN_HOME/servers/<Server_Name>/logs/ | head(先找最新文件再查看)

三 日志格式与关键信息

  • 服务器日志格式
    • 典型条目以**####<时间戳> <严重级别> <子系统> <主机名> <服务器名> … <消息ID> <消息文本>开头;若包含异常,后续会有堆栈跟踪**。
    • 示例:####<Sept 22, 2004 10:46:51 AM EST>
  • 访问日志格式
    • 典型条目:客户端IP - - [时间] “请求方法 资源 HTTP/版本” 状态码 响应字节数,如:
      • 192.168.220.1 - - [27/Oct/2022:09:43:40 +0800] “GET /index.jsp HTTP/1.1” 200 1976
      • 192.168.220.1 - - [27/Oct/2022:09:43:40 +0800] “GET /GenCaptcha HTTP/1.1” 404 116
  • 解读要点
    • 严重级别顺序:SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST(级别越高,记录越少)。
    • 域日志汇聚各服务器重要事件;域日志时间戳为消息发出服务器的本地时间,且不保证严格按时间顺序写入(网络重连后会补发)。

四 日志轮转与输出控制

  • 轮转与保留
    • WebLogic提供按大小/时间滚动的日志机制,可在控制台或WLST中配置滚动策略与保留数量,避免单文件过大、便于归档与审计。
  • 标准输出与日志级别
    • 通过LogMBean可配置各Handler(如标准输出、服务器日志文件、域日志)的严重级别与过滤器,实现输出量与目标的精细控制。
    • 默认情况下,Stdout Handler的阈值为NOTICE,因此INFO/DEBUG不会输出到控制台;可在控制台或WLST中调整为DEBUG/INFO等,以满足排障需要。

五 常见问题快速排查

  • 启动失败或刚启动即退出
    • 先看stdout.log/stderr.log是否有异常堆栈端口冲突提示;再查**<Server_Name>.logServer started in RUNNING mode**是否出现。
  • 运行中报错定位
    • 在**<Server_Name>.log中 grep -n ‘ERROR|Exception|SEVERE’,并用 grep -C 10 查看上下文;若为HTTP访问异常,结合access.log状态码(如404/500)URL**定位资源与后端问题。
  • 内存或线程问题
    • 检索OutOfMemoryErrorjava.lang.ThreadDeathdeadlock等关键字,关注时间戳线程名,对照GC日志线程转储进一步分析(必要时开启/导出诊断信息)。

0