首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Maven/Ant/命令行工具实现统一日志记录?

如何为Maven/Ant/命令行工具实现统一日志记录?
EN

Stack Overflow用户
提问于 2014-10-11 11:30:04
回答 1查看 138关注 0票数 0

我开发了一个代码生成工具,它可以

  • 从命令行调用
  • 通过Ant任务使用
  • 通过Maven插件使用
  • 也许还会有更多。

为了使代码生成可以追溯到最终用户(“现在发生了什么?”),我想输出日志语句。它们将处于从跟踪到致命错误的不同级别,因此通常只是普通的标准日志记录。

但是,我希望使用宿主构建工具的日志功能输出我的语句。

  • Maven为插件提供了一个日志接口。
  • CLI没有。
  • 我已经很久没有编写Ant任务了,但我认为还有一个用于日志记录的接口。

我的想法是在我的工具中使用像SLF4J这样的日志API,然后以某种方式将日志消息“重定向”到宿主构建工具或直接到控制台,但我现在不知道如何实现这一点。我也想我在这里少了几个片段。

我的问题基本上是,我应该进一步调查哪个方向。

  • 我还需要log4j还是logback
  • appender是我应该关注的正确概念吗?
  • 是否必须为每个宿主工具实现、创建和配置附加程序?
  • 我应该在运行时这样做,还是可以以某种方式进行配置?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-25 15:15:14

  • 编写一个简单的日志接口,抽象出不同工具的所有特性。您可能会受到其他日志记录框架(slf4j、log4j 2.0)的启发,例如: 公共接口Mylogger { void (String,Object.空信息(字符串msg,Object.//.}
  • 在每个插件/工具中执行以下
    • 使用特定于工具的记录器,或者使用给插件的记录器(在CLI的情况下,使用您选择的记录器(log4j,slf4j,.)
    • 创建一个实现日志接口的代理,它将委托给特定于工具的记录器。
    • 将记录器插入到代码生成工具中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26314151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档