我正在做的事情有一点背景。我正在通过工业控制器上的不同编程语言运行一些python脚本。由于我没有直接运行python脚本,因此无法查看终端上的任何打印或日志语句,因此我需要将详细的日志发送到日志文件。
由于调试时会记录很多信息,所以我想找到一种方法来为日志文件上色,例如coloredlogs
对打印到终端上的日志进行着色。我看过coloredlogs
,但似乎只有在使用VIM
时,它才能将彩色日志打印到文件中。有谁知道一种使用可通过诸如写字板之类的程序打开的python将彩色日志打印到文件的方法吗? (也许是.rtf
文件)。
答案 0 :(得分:1)
使用Windows PowerShell
Get-Content
函数来打印包含ANSI escape sequences
的文件为日志着色是一种解决方案。
例如:
import coloredlogs
import logging
# Create a logger object.
logger = logging.getLogger(__name__)
# Create a filehandler object
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.DEBUG)
# Create a ColoredFormatter to use as formatter for the FileHandler
formatter = coloredlogs.ColoredFormatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
# Install the coloredlogs module on the root logger
coloredlogs.install(level='DEBUG')
logger.debug("this is a debugging message")
logger.info("this is an informational message")
logger.warning("this is a warning message")
logger.error("this is an error message")
logger.critical("this is a critical message")
打开Windows PowerShell
时,您可以使用Get-Content .\spam.log
以彩色打印日志。