【发布时间】:2012-08-13 01:36:51
【问题描述】:
我是 Python 新手,刚刚开始一个项目。我习惯在 Java 中使用 log4j,我想像在 Java 中一样记录 Python 中的所有模块和类。
在 Java 中,我在名为 log4j.properties 的 src 文件夹中有一个日志配置文件,如下所示:
log4j.rootLogger=DEBUG, Console, fileout
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %5p [%t] (%F:%L) - %m%n
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=servidor.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} (%F:%L) %p %t %c - %m%n
它记录到控制台和文件。
在我的类中,我只需要导入log4j 并添加一个静态属性来恢复加载配置的log4j 记录器,然后所有类都将登录控制台和文件。配置文件按名称自动加载。例如:
import org.apache.log4j.Logger;
public class Main {
public static Logger logger = Logger.getLogger(Main.class);
public static void main(String[] args) {
logger.info("Hello");
}
}
现在我在 Python 中设置日志记录时遇到问题,我已阅读文档,但找不到在许多模块/类中使用它的方法。如何以一种简单的方式设置 Python 日志记录,以便在每个模块/类中无需大量代码来记录我的模块和类?是否可以重现我在 Python 中编写的相同代码?
【问题讨论】:
-
@MarkHildreth 我正在尝试使用这个答案stackoverflow.com/questions/11131734/python-global-logging,但我不知道这是否是一个好方法
-
你读过these tutorials吗?那里有很多很好的信息。
标签: python python-2.7 logging