开发者

What are the latest options in Java logging frameworks? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 6 years ago.

Improve this question

This question gets asked periodically, but I've long felt that existing Java logging frameworks were overcomplicated and over-engineered, and I want to see what's new.

I have a more critical issue on my current project as we've standardized on JSON as our human-readable data encoding, and most logging frameworks I've seen require XML. I would really rather avoid using JSON for 95% of my apps configuration, and XML for the rest just because of the logging framework (truth be told, I hate XML used for anything other than text markup, its original intended purpose).

Are there any hot new Java logging frameworks that are actively maintained, reasonably powerful, have a maven re开发者_StackOverflow中文版po, can be reconfigured without restarting your app, and don't tie you to XML?


You have 3 options:

  • Log4J
  • java.util.logging (JUL)
  • Logback (the successor of Log4J)

Now, let's see how they meet your requirements:

  1. actively maintained
  2. reasonably powerful
  3. have a maven repo
  4. can be reconfigured without restarting your app
  5. don't tie you to XML

log4j:

  1. No, not actively maintained
  2. Yes -
  3. Yes -
  4. Yes -
  5. Yes (using Java properties file, see Configuration).

java.util.logging (JUL):

  1. I'd say Yes -
  2. at your discretion -
  3. N/A -
  4. Yes (via JMX or LogManager#readConfiguration() -
  5. Yes (using properties files)

Logback:

  1. Yes -
  2. Yes -
  3. Yes -
  4. Yes, via JMX or autoScan -
  5. Configuration files in XML or Groovy

It looks like you'll have to make some concessions (or find a framework I'm not aware of). I would go for Logback, this is where things happen now.


wasn't logback the latest?


SLF4J is the latest and greatest, as far as I know.

Surely the XML required to configure log4j couldn't be considered oppressive. You might be objecting to XML config in general, but even that's changing. Spring gives the option of using XML or annotations, as do most other frameworks. I think objecting to XML anything other than markup is going too far. Should Ant and NANT shut down because they chose XML? I think not.


While the common configuration method for log4j is xml, you can also configure it programatically, which means you can use any configuration system you want (and also reconfigure it at runtime).


You might want to look into our Java logging tool SmartInspect (it's commercial). SmartInspect is actively maintained, can be configured with two lines of code and supports configuration files that just contain name = value pairs (no XML :)). SmartInspect can also automatically reload configurations files on-the-fly when they are changed - a useful feature for live configuration changes and production systems. SmartInspect also comes with a graphical log analysis and monitoring tool that you might find useful:

What are the latest options in Java logging frameworks? [closed]


(source: gurock.com)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜