python日志库loguru

1
2
3
4
5
6
7
8
9
10
11
12
import contextlib
from loguru import logger
 
 
APPDATA = os.getenv('APPDATA')
log_filepath = APPDATA + '\\your_app\\Logs\\mylog.log'
logger.remove()
logger.add(log_filepath, format="{time:YYYY-MM-DD HH:mm:ss.SSS} [{level}] {message}")
logger.add(sys.__stdout__, colorize=True, format="<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> [{level}] {message}")
#logger.debug("block1")
#logger.info("block2")
#logger.warning("block3")
 
后面还可以加上:
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class StreamToLogger:
 
    def __init__(self, level="INFO"):
        self._level = level
 
    def write(self, buffer):
        for line in buffer.rstrip().splitlines():
            logger.opt(depth=1).log(self._level, line.rstrip())
 
    def flush(self):
        pass
 
stream = StreamToLogger()
with contextlib.redirect_stdout(stream):
    addons = [FamikitProxy()]

 

1
redirect_stdout可能不是个好习惯,建议直接用logger.info("xxx")<br><br><br>

posted on   拥剑公子  阅读(134)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示