Golang将日志同时输出到控制台和文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang将日志同时输出到控制台和文件相关的知识,希望对你有一定的参考价值。

参考技术A 日常开发当中需要将golang的log包打印的日志同时输出到控制台和文件,应该如何解决这个问题?

log包可以通过SetOutput()方法指定日志输出的方式(Writer),但是只能指定一个输出的方式(Writer)。我们利用io.MultiWriter()将多个Writer拼成一个Writer使用的特性,把log.Println()输出的内容分流到控制台和文件当中。

原文地址

使用 pom 将 Maven 输出发送到控制台和日志文件

【中文标题】使用 pom 将 Maven 输出发送到控制台和日志文件【英文标题】:Send Maven output to console and log file using pom 【发布时间】:2017-02-09 11:36:56 【问题描述】:

问题:在 Eclipse 中运行 Maven 时,如何将控制台输出发送到文件?

我想使用 pom 设置或 maven 插件来实现这一点。我确实想修改运行配置或 maven 系统设置。

作为参考,我使用的是 Windows 7、Eclipse Luna、Java 6、Maven 3。

【问题讨论】:

你不能那样做,你的答案是唯一的出路。 Maven 在读取 POM 之前如何编写文件?还要考虑多模块项目,其中该配置只能在一个模块中。 尝试使用 AOP。通过在默认的 org.apache.maven.plugin.logging.Log 上应用切入点,成功地将日志重定向到文件。但是太多的努力是白费的。试一试。 【参考方案1】:
-l,--log-file <arg>

所有构建输出的日志文件。

因此,运行:

mvn clean install -l output.log
output.log
.mvnpom.xmlmaven.config
-l output.log
.mvn/maven.configMAVEN_OPTIONS

这是一个与 IDE 无关的解决方案(它是 Maven 的新内置功能)并且是项目本地的,但仍然不能通过简单的 POM 编辑提供,因为Maven default life cycle phases 的第一阶段是@987654334,所以无法实现@,其中:

验证项目是否正确,所有必要的信息都可用

pom.xml

【讨论】:

即使登录Eclipse控制台窗口丢失了,这也是最合理的答案。【参考方案2】:
Run Configuration -> Commons -> Select a file

【讨论】:

这是一个很好的答案,但我正在寻找一些方法来通过仅修改 pom 来实现这一点。我已经更新了我的问题。【参考方案3】:
$MAVEN_HOME/conf/logging/simplelogger.propertiesstdout

【讨论】:

这是对的,但是我正在寻找一个不修改maven设置的解决方案。
<properties>
【参考方案4】:

如何创建一个 M2E 的分支并对其进行修改以从 pom.xml 读取启动配置的输出文件

https://github.com/eclipse/m2e-core.git

【讨论】:

【参考方案5】:
mvn file/usr/binexec "$JAVACMD" \

但是,它仅在终端线调用 maven 时有效;当由 IDE(如 eclipse)调用时,此解决方案不起作用。

【讨论】:

以上是关于Golang将日志同时输出到控制台和文件的主要内容,如果未能解决你的问题,请参考以下文章