Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Christian Grobmeier on Log4j 2
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Enterprise Java User Group Austria
November 26, 2014
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Christian Grobmeier on Log4j 2
Enterprise Java User Group Austria
November 26, 2014
More Decks by Enterprise Java User Group Austria
See All by Enterprise Java User Group Austria
Gerrit Grunwald on What the CRaC... SUPERFAST JVM STARTUP
ejug
2
230
Spring Framework 5.2 - Core Container Revisited
ejug
0
200
Andreas Caternberg on Jenkins Pipelines
ejug
1
830
Martin Ahrer on Continuous Delivery Infrastructure With Docker
ejug
0
190
Dirk Mahler on Software Analyse mit jQAssistant & Neo4j
ejug
1
330
Christoph Strobl on Spring Data & Hypermedia
ejug
0
180
Stefan Armbruster on Graph Modelling Antipatterns
ejug
1
160
Stefan Armbruster on Introduction into Neo4J
ejug
1
130
Michael Nitschinger on Building a reactive Couchbase driver for the JVM
ejug
0
170
Other Decks in Technology
See All in Technology
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
710
AI AgentによるEmbedded SREの取り組み
tgidgd
1
340
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
580
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.7k
GCASアップデート(202607-202610)
techniczna
1
100
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
380
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
1
120
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
180
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
生成AI時代のIAMのマニアックな話
takuros
4
910
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
130
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
500
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
320
Product Roadmaps are Hard
iamctodd
55
13k
The browser strikes back
jonoalderson
0
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Automating Front-end Workflow
addyosmani
1370
210k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How to build a perfect <img>
jonoalderson
1
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Designing for Timeless Needs
cassininazir
1
550
Transcript
Apache Log4j 2
Christian Grobmeier @grobmeier http://www.grobmeier.de ASF V. P. Logging Services
http://www.leanpub.com/thezenprogrammer/c/linz
(hopefully) soon: www.understandinglog4j.com
Why should you log?
ASF FIRE BRIGADE
Log4j1, Log4j2 log4php Chainsaw log4net log4cxx
How do you log?
We are stable! Log4j 2.1
None
CHALLENGES
SPEED!
Failsafe. Reliable.
Compability.
Taste.
L o g g i n g with Duke
Too much t a s t e . . .
m a k e s headache! Think on: log4j, logback, JUL, TinyLog, AVSL
Pills: Some Abstraction Layers
Commons Logging log4j 1 log4j 2 logback JUL Which pill?
slf4j Commons Logging log4j 1 log4j 2 logback JUL AVSL
Which pill?
slf4j Commons Logging log4j 1 log4j 2 logback JUL AVSL
New kids on the block log4j 2
log4j 2.x is the future of log4j
New in log4j 2.x
Instead: if (logger.isDebugEnabled()) logger.info("Hi, " + u.getA() + “ “
+ u.getB()); Write: logger.info("Hi, {} {} ", u.getA(), u.getB()); API++
Marker: Marker SQL_MARKER = MarkerManager.getMarker("SQL"); logger.debug( SQL_MARKER, "SELECT * FROM
{}", table); Better Filter
@Plugin(name = "Mine", type = "Core", elementType = "appender") public
class Mine extends AppenderBase { private Mine(String name, Filter f) { super(name, f, null); } public void append(LogEvent e) { … } Plugins
@PluginFactory public static Mine create( @PluginAttr("name") String n, @PluginElement("filters") Filter
f) { return new Mine(n, f); } Plugins
<appenders> <Mine name="Hello_Linz" …> <PatternLayout pattern="%d{HH:mm} %msg%n"/> </Mine> </appenders> Configuration
<Configuration> <Appenders> <File name="Grobmeier" fileName="target/mylog.log"> <PatternLayout> <Pattern>%d %C{1.}</Pattern> </PatternLayout> </File>
</Appenders> <Loggers> <Logger name="com.Bar" level="trace"> <AppenderRef ref="Grobmeier"/> </Logger> Configuration
<File name="App" fileName="app.log"> <PatternLayout> <pattern> %d $${jndi:logging/context-name} %m%n </pattern> </PatternLayout>
</File> Configuration
JSON { "configuration": … "appenders": { "Console": { "name": "STDOUT",
"PatternLayout": { "pattern": "%m%n" } }, ...
Configuration Reloading <configuration monitorInterval="30"> ... </configuration>
More? MDC (ThreadContext) EventLogger Flowtracing …
SPEED! log4j 1.x logback log4j 2.x Disabled 5 2386 2116
2314 Logging Performance in ns
SPEED! Async Logging Power!
Again: >18,000,000 messages / second On Solaris 10 (64bit) with
JDK1.7.0_06, 4-core Xeon X5570 dual CPU @2.93Ghz with hyperthreading switched on (16 virtual cores)
LMAX DISRUPTOR removes the kernel need for locks on the
CPU level
CHAINSAW
None
The story of log4php Community
Good times, bad times 1999 2005 2010 2011
You are welcome Join ~8 active committers.
We are back! 2013: 1018 Changes 4730 Mails 2014: 1502
Changes 8501 Mails
Seriously. Isn‘t logging just BORING?
Well... how do you log on your mobile/cloud apps?
With new innovation, new logging challenges come up. Logging needs
innovation too.
Logger Log Collector Log Search Log Analysis
Logger Log Collector Log Search Log Analysis
Logger Log Collector Log Search Log Analysis
None
Logging is mission critical.
One last thing...
Do we need a new Logging JSR? java.net/projects/newlogging
We are hiring! use it! ask questions! spread the love!
send patches!
[email protected]
Christian Grobmeier @grobmeier http://www.grobmeier.de Merci && Baba!
Image Credits Writing Girl (Erin Kohlenberg) Captain Kirk (http://dave-daring.deviantart.com/) Vulcano
(Martin Barland) Fire Brigade (State Library of South Australia) Gear Necklace Designs (Eric Skiff) Gazelle (Flickr: fwooper) Golden Gate Bridge (Flickr: TimeLapseBlog.com) Pens (Flickr: JD | Photography) Wineglass (Flickr: Willia4) Headache (Flickr: Threephin) Pills (Dr. Michael Günther) Wheelgear (Flickr: ralphbijker) Chainsaw (Flickr: Dave Hosford) Elephant (Flickr: Werner Vermaak) Haunted House (Flickr: barb_ar) SOS (Flickr: Daquella Manera) Bathtime muscles (Flickr: mollypop) Yawning Animal (Flickr: robef) Mobile (Flickr: twicepix) Steve (https://www.flickr.com/photos/-macjasp/) Paul Carmody Clouds (Flickr: karindalziel) Fight (Flickr: KellBailey)