我通过这种方式创建日志文件:
global logger
logger = logging.getLogger("plus_dig_cname")
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler( fdoc_log + "/plus_dig_cname.log" )
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
而当 plus_dig_cname.log 的大小大于 300MB 时,我通过 shell 脚本处理,主要过程是:
mv $LOG_DIR/$1 $LOG_DIR/$1.bk
[ $? -ne 0 ] && return 1
touch $LOG_DIR/$1
[ $? -ne 0 ] && return 1
chmod 666 $LOG_DIR/$1
[ $? -ne 0 ] && return 1
只需 mv 并触摸一个新的。
问题是记录器无法在 plus_dig_cname.log 文件中写入任何内容。日志无法工作。
也许可以通过以下方式解决:
with open( "plus_dig_cname.log", "w" ):
pass
这种方式可以通过 Python 获取新的日志文件。但我想通过 Bash 获取新的日志文件。
那么,为什么在“mv touch chmod”之后无法进行日志记录呢?
谢谢