Tomcat日志分割,监控实时日志

Tomcat日志分割,监控实时日志

一、日志分割

#!/bin/bash

#定义日志文件目录
dir="usr/local/tomcat/logs/"

#定义日期格式
d=`date +%Y-%m-%d-%H:%M`

#切割日志
cd ${dir} && cp catalina.out $dir/$d.log  #日志备份
echo " " > /usr/local/tomcat/logs/catalina.out  #原日志清空

PS:若tomcat下放的有项目,可加上项目的路径,进行日志切割

二、监控实时日志

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import time
import re

# 指定日志文件路径
log = "/usr/local/tomcat/logs/catalina.out"

# 打开文件并监控最新行
number = 0
position = 0

with open(log, mode='r') as f:
    while True:
        line = f.readline().strip()
        if line:
            number += 1
            print("[number %s] %s" % (number, line))


# 记录上次文件读取位置
        cur_position = f.tell()

        if cur_position == position:
            time.sleep(0.1)
            continue
        else:
            position = cur_position

解析:
由于tomcat日志切割出来的是带日期的新日志,而再次产生的日志还在catalina.out里,所以此脚本监控的catalina.out就是最新实时更新的日志

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值