我正在创建一个java开源实用程序包,我想知道是否可以将日志记录(如log4j)包含在该程序包中。
困境是如果我将log4j包含到我的包中,我将在哪里输出日志文件,我不希望日志文件在用户的错误位置,但我仍然想要创建用于调试的日志
同样存在用户希望将我的日志集成到项目本身的问题。 他将如何做到这一点。
你建议最好的方法是做什么?
感谢。
答案 0 :(得分:3)
我认为正常的做法是,不包括包中的Log4j Jar,让库用户决定使用哪个版本的Log4j。
此外,您不必担心输出日志文件的位置,因为用户将拥有自己的log4j.properties或log4j.xml配置。
库用户还可以决定从库中使用哪种级别的日志记录,或者是否禁止它。例如,对于亚马逊AWS库,我可以告诉我只需要警告消息或输出太冗长。在这种情况下,我添加到我的log4j.properties:
log4j.logger.com.amazonaws=WARN
说,我还提醒你,log4j的现代替代品是SL4J。