Every time you write a new class, you must declare it as follows:
private static Logger logger = Logger.getLogger(Test.class);
Isn’t this very troublesome? Is there any way to set the Logger to a class that can be called statically, directly call the info, error and other methods, and at the same time print out the current class, thread number and other information?
You can simply encapsulate it to achieve what you want, such as building a class to encapsulate Logger and exposing several static interfaces. As for why many codes are written as
private static Logger logger = Logger.getLogger(Test.class);
, it is actually mainly to improve the flexibility and accuracy of logs.Look at this /a/11...
Statement
log
是因为他可以定义不同的logger name
可以通过logger name
定制自己的输出方式, 比如level
,appender
...etcIf your logs are processed in the same way, you can declare it
公共的静态 log 对象
, 需要的地方使用该log
There will be no duplicate declarations.For example:
Of course you can also use lombok to simplify your code.