温馨提示×

Linux下WebLogic如何进行日志管理

小樊
37
2025-11-06 17:55:52
栏目: 智能运维

Linux下WebLogic日志管理指南

一、日志文件定位

WebLogic的日志文件按类型和服务器实例分布在域目录下,常见路径如下:

  • Server日志:记录服务器运行状态(启动/关闭、错误、调试信息),默认路径为$DOMAIN_HOME/servers/<server_name>/logs/<server_name>.log(如/user_projects/domains/mydomain/servers/AdminServer/logs/AdminServer.log)。
  • Access日志:记录HTTP/HTTPS访问请求(URL、IP、响应状态、耗时),默认路径为$DOMAIN_HOME/servers/<server_name>/logs/access.log
  • Domain日志:记录域级别的事件(服务器启动/停止、资源预警、安全事件),默认路径为$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log(部分版本为domain.log)。

二、日志轮转配置

日志轮转可防止日志文件无限增长,常用方法有两种:

1. 使用WebLogic内置设置(推荐)

通过管理控制台或配置文件调整轮转策略:

  • 操作步骤
    1. 登录WebLogic控制台,导航至环境 > 服务器 > <server_name> > 日志 > 常规
    2. 旋转类型:选择“按大小”(By Size)或“按时间”(By Time)。
      • 按大小:设置旋转文件大小(如500MB),达到阈值后自动重命名当前日志(如server.log00001)。
      • 按时间:设置开始旋转时间(如00:00)和旋转间隔(如24小时),定时生成新日志。
    3. 保留数量:勾选“限制保留文件数”,设置保留文件数(如7个),超过则覆盖最旧日志。
    4. 文件名格式:可在文件名字段添加时间戳(如server_%yyyy%_%MM%_%dd%.log),便于归档。

2. 使用Linux logrotate工具(补充)

通过系统级工具实现更灵活的轮转(如压缩、远程传输):

  • 配置步骤
    1. 创建配置文件/etc/logrotate.d/weblogic,内容示例如下:
      /path/to/weblogic/domain/logs/*.log {
          daily                # 每天轮转
          rotate 7             # 保留7个旧日志
          compress             # 压缩旧日志(如.gz格式)
          missingok            # 日志不存在时不报错
          notifempty           # 日志为空时不轮转
          create 640 root adm  # 新日志权限和属主
          sharedscripts        # 所有日志处理完后执行脚本
          postrotate
              /bin/kill -HUP `cat /path/to/weblogic/domain/servers/AdminServer/tmp/AdminServer.pid` 2>/dev/null || true
          endscript
      }
      
    2. 测试配置:sudo logrotate -vf /etc/logrotate.d/weblogic-v显示详细过程,-f强制轮转)。

三、日志查看与管理

1. 基础命令查看

  • 查看实时日志tail -f /path/to/server.log(如tail -f /user_projects/domains/mydomain/servers/AdminServer/logs/AdminServer.log),实时跟踪最新日志。
  • 查看最后N行tail -n 100 /path/to/server.log(查看最后100行)。
  • 搜索关键词grep "ERROR" /path/to/server.log(查找包含“ERROR”的行)。

2. 使用journalctl查看系统日志

若WebLogic通过systemd服务管理(如weblogic.service),可使用以下命令查看服务日志:

journalctl -u weblogic.server -f  # 实时查看WebLogic服务日志
journalctl -u weblogic.server --since "2025-11-01"  # 查看指定时间后的日志

3. 清理旧日志

  • 手动清理rm -f /path/to/old_logs/*.log(删除指定目录下所有.log文件)。
  • 定时清理:通过crontab设置定时任务(如每周日凌晨清理7天前的日志):
    crontab -e
    # 添加以下内容(每周日凌晨1点执行)
    0 1 * * 0 find /path/to/weblogic/logs -name "*.log" -mtime +7 -exec rm -f {} \;
    

四、日志级别调整

通过调整日志级别可控制日志输出的详细程度(从低到高:TRACEDEBUGINFONOTICEWARNINGERRORSEVERECRITICALFATAL):

  • 管理控制台:导航至环境 > 服务器 > <server_name> > 日志 > 通用,修改日志级别下拉框(如设置为INFO,仅输出重要信息)。
  • 配置文件:修改$DOMAIN_HOME/config/fmwconfig/servers/<server_name>/logging.xml文件,调整logging-file-handlerlevel属性(如<level>INFO</level>)。

五、注意事项

  • 生产环境建议:开启“按大小”轮转(如500MB),保留7-14个旧日志,避免磁盘空间耗尽。
  • 权限问题:确保日志目录属主为rootweblogic用户(如chown -R root:adm /path/to/weblogic/logs),避免权限不足导致日志无法写入。
  • 备份策略:定期将旧日志备份至远程服务器(如rsync -avz /path/to/weblogic/logs user@remote:/backup/logs),防止本地磁盘故障导致数据丢失。

0