文章详情页
java中使用log4j如何不用每次调用都声明一下?
浏览:282日期:2023-12-06 14:26:54
问题描述
每次写个新的类,就要在下面声明下:
private static Logger logger = Logger.getLogger(Test.class);
这样的话不是很麻烦吗?有没有什么办法,把Logger设置成可以静态调用的类,直接调用info,error等方法,同时还可以打印出当前类、线程号等信息?
问题解答
回答1:你大可以简单封装一下实现你要的目的,比如建个类把Logger封装进去,暴露几个静态接口出来。至于为什么很多代码书写的时候写成private static Logger logger = Logger.getLogger(Test.class);,其实主要是为了提高日志的灵活性、准确性等。
回答2:看看这个 /a/11...
回答3:声明log是因为他可以定义不同的logger name可以通过logger name定制自己的输出方式, 比如level, appender...等
如果你的日志是以相同的方式处理那你完全可以声明公共的静态 log 对象, 需要的地方使用该log也不存在重复声明的情况了.如:
import static xxx.GlobalLogs.log;log.debug('...');log.info('...');//...
当然你还可以使用 lombok 的方式来简化你的代码.
标签:
java
相关文章:
1. javascript - 关于js原生事件的绑定与解除绑定2. mysql group by多个字段3. docker绑定了nginx端口 外部访问不到4. docker网络端口映射,没有方便点的操作方法么?5. javascript - Vue 自定义控件v-model双向绑定6. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果7. javascript - yo创建angular报错8. python - celery beat 调度如何运行期间动态添加任务?9. objective-c - 使用axios 通过vuex mutation修改数据 getter第一次获取失败 第二次成功10. 把h5放入webview里面,h5页面上下可以回弹,怎么可以去掉该效果
排行榜

网公网安备