如何为Maven/Ant/命令行工具实现统一日志记录?
我开发了一个代码生成工具,可以如何为Maven/Ant/命令行工具实现统一日志记录?,maven,logging,ant,slf4j,command-line-interface,Maven,Logging,Ant,Slf4j,Command Line Interface,我开发了一个代码生成工具,可以 从命令行调用 通过蚂蚁任务使用 通过Maven插件使用 也许还会有更多 为了使代码生成可以跟踪到最终用户(“现在发生了什么?”),我想输出日志语句。它们将处于从跟踪到致命错误的不同级别,因此通常只是普通的标准日志记录 但是,我希望使用宿主构建工具的日志功能输出我的语句 Maven为插件提供了一个日志接口 CLI没有 我已经很久没有编写Ant任务了,但我认为还有一个用于日志记录的接口 我的想法是在我的工具中使用类似SLF4J的东西作为日志API,然后以某种方
- 从命令行调用
- 通过蚂蚁任务使用
- 通过Maven插件使用
- 也许还会有更多
- Maven为插件提供了一个日志接口
- CLI没有
- 我已经很久没有编写Ant任务了,但我认为还有一个用于日志记录的接口
- 我是否还需要
或log4j
logback
是我应该关注的正确概念吗appender
- 我是否必须为每个托管工具实现、创建和配置appender
- 我应该在运行时这样做,还是可以通过某种方式进行配置
- 编写一个简单的日志接口,抽象出不同工具的所有特性。您可能会受到其他日志框架(slf4j、log4j 2.0)的启发 e、 g:
- 在每个插件/工具中,执行以下操作
- 实例化特定于工具的记录器,或使用插件提供的记录器(在CLI的情况下,使用您选择的记录器(log4j、slf4j,…)
- 创建一个代理来实现您的日志接口,该接口将委托给特定于工具的记录器
- 将记录器插入代码生成工具
public interface Mylogger {
void debug(String msg, Object... args);
void info(String msg, Object... args);
//...
}