python环境下,logging日志文件在mac环境下打包找不到文件或文件里面未记录日志内容

最近在写了几个mac程序后发现日志文件找不到,或者日志文件找到了里面内容为空,有时还出现程序闪退情况,最后发现是日志文件没有设置encoding的格式。

这里必须要设置encoding,如果不设置在window环境下无问题,在macos环境下打包发现找不到日志文件,最后发现左键选择显示包内容,在Contents--Resource里面有日志文件,但是又发现日志文件为空,找了一周,最后发现是encoding没有设置格式,设置后就有了。我也无语了!!!

正确代码如下:(可以查看下视频:https://live.csdn.net/v/158172

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/3/31 上午10:47
# @Author  : wangying
# @Site    : 
# @File    : new_rumps.py
# @Software: PyCharm


import rumps
from loguru import logger
import os


BASE_DIR = os.getcwd()
# # 日志文件配置
LOG_DIR = os.path.join(BASE_DIR,"log")
if os.path.exists(LOG_DIR) is False:
    os.makedirs(LOG_DIR)
logger.add(os.path.join(LOG_DIR,"./error.log"),
           level='DEBUG',
           encoding="utf-8",
           format='{time:YYYY-MM-DD HH:mm:ss} - {level} - {file} - {line} - {message}',
           rotation="10 MB")
logger.info('可以写日志了')
logger.error('可以写日志了')
logger.debug('可以写日志了')
logger.info('可以写日志了')

logger.info('绝对路径')
logger.info(os.getcwd())

class AwesomeStatusBarApp(rumps.App):
    def __init__(self):
        super(AwesomeStatusBarApp, self).__init__("Awesome App",icon='pony.jpg',title='键盘')
        self.menu = [
            rumps.MenuItem('About', icon='pony.jpg', dimensions=(18, 18)),
            '日志文件测试','监控状态(开启)','通知'
        ]

    @rumps.clicked("日志文件测试")
    def prefs(self, _):
        logger.info('这是 loggging info message')
        logger.info('这是 loggging debug message')
        logger.info('这是 loggging a warning message')
        rumps.alert("日志文件注入成功!")

    @rumps.clicked("监控状态(开启)")
    def onoff(self, sender):
        sender.state = not sender.state
        if sender.state == True:
            rumps.alert("键盘监控开启")
            pass
        else:
            rumps.alert("键盘监控关闭")
            pass

    @rumps.clicked("通知")
    def sayhi(self, _):
        rumps.notification("键盘监控通知", "通知详情", "通知内容   hi!!1")


if __name__ == '__main__':
    AwesomeStatusBarApp().run()

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值