log4j日志切割原理

root@zz test# cat a1.py

#!/usr/bin/python

-*- coding:utf-8 -*-

ithomer.net

import logging

import logging.handlers

LOG_FILE = 'tst.log'

handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes = 1024*1024*10, backupCount=5)

fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(levelname)s - %(message)s'

formatter = logging.Formatter(fmt)

handler.setFormatter(formatter)

logger = logging.getLogger('tst')

logger.addHandler(handler)

logger.setLevel(logging.DEBUG)

logger.info('info msg')

logger.debug('debug msg')

for i in range(1, 100000):

logger.info(str(i))

root@zz test# date;stat tst.log

Fri Dec 22 23:18:56 CST 2023

File: `tst.log'

Size: 4601678 Blocks: 8992 IO Block: 4096 regular file

Device: 803h/2051d Inode: 948538 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2023-12-22 23:18:49.158997975 +0800

Modify: 2023-12-22 23:18:56.041999938 +0800

Change: 2023-12-22 23:18:56.041999938 +0800

root@zz test# date;stat tst.log

Fri Dec 22 23:20:03 CST 2023

File: `tst.log'

Size: 8868541 Blocks: 17328 IO Block: 4096 regular file

Device: 803h/2051d Inode: 948699 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2023-12-22 23:19:54.939999936 +0800

Modify: 2023-12-22 23:20:03.068999937 +0800

Change: 2023-12-22 23:20:03.068999937 +0800

root@zz test# stat tst.log.1

File: `tst.log.1'

Size: 52428765 Blocks: 102400 IO Block: 4096 regular file

Device: 803h/2051d Inode: 948538 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2023-12-22 23:18:49.158997975 +0800

Modify: 2023-12-22 23:19:54.939999936 +0800

Change: 2023-12-22 23:19:54.939999936 +0800

相关推荐
白鲸开源1 天前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
白鲸开源1 天前
一文读懂DolphinScheduler插件机制:如何轻松扩展任务类型与数据源
java·架构·github
用户298698530141 天前
Java 实现 Word 文档文本查找与高亮标注
java·后端
宇宙之一粟1 天前
乐企版式文件生成平台
java·后端·python
plainGeekDev1 天前
MVC 写法 → MVVM
android·java·kotlin
SL_staff1 天前
3周搭完MES系统:JVS低代码+JVS-IoT物联网的实战记录
java·前端·低代码
MacroZheng1 天前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
唐青枫1 天前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring
小bo波2 天前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking2 天前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试