我是Scala的新手,我正在努力寻找如何将日志重定向到Scala中的文件的方法。这是Python中的一项简单任务,但是我找不到Scala的相关文档。我正在尝试使用log4j,但是我也不介意使用其他软件包。我找到的所有参考资料都讨论了如何通过配置文件来执行此操作,但是我想以编程方式执行此操作。
这是到目前为止我发现并可以使用的内容,但是我不知道如何添加文件。我认为FileAppender
应该可以解决我的问题,但找不到如何将其添加到记录器的示例:
import org.apache.log4j.Logger
val logger = Logger.getLogger("My Logger")
logger.info("I am a log message")
我希望达到的目的(还有一些额外的细节)可以用Python编写,如下所示:
import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
handler = logging.FileHandler('output.log')
handler.setLevel(logging.INFO)
logger.addHandler(handler)
logger.info("I am a log message")
答案 0 :(得分:0)
评论链接已翻译为Scala:
import org.apache.log4j.PatternLayout
import org.apache.log4j.{Level, Logger, FileAppender}
val fa = new FileAppender
fa.setName("FileLogger")
fa.setFile("mylog.log")
fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"))
fa.setThreshold(Level.DEBUG)
fa.setAppend(true)
fa.activateOptions
//add appender to any Logger (here is root)
Logger.getRootLogger.addAppender(fa)
// usage
val logger = Logger.getLogger("My Logger")
logger.info("I am a log message")
如果“ import org.apache.log4j。{Level,Logger,FileAppender}”不起作用,则意味着在类路径中缺少log4j库。