Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
#渋谷java - Logback の Appender を実装してみよう
Search
KOMIYA Atsushi
December 13, 2014
Programming
1
2.3k
#渋谷java - Logback の Appender を実装してみよう
第九回 渋谷 Java の飛び入り LT で発表した資料です。
http://shibuya-java.connpass.com/event/9996/
KOMIYA Atsushi
December 13, 2014
Tweet
Share
More Decks by KOMIYA Atsushi
See All by KOMIYA Atsushi
#JJUG Java における乱数生成器とのつき合い方
komiya_atsushi
5
5.4k
#JJUG Fork/Join フレームワークを効率的に正しく使いたい
komiya_atsushi
0
520
[#JSUG] SmartNews における container friendly な Spring Boot アプリケーション開発
komiya_atsushi
1
11k
Java のデータ圧縮ライブラリを極める #jjug_ccc #ccc_c7
komiya_atsushi
4
5.1k
#devsumi 自然言語処理・機械学習によるファクトチェック業務の支援
komiya_atsushi
1
4.6k
SmartNews Ads における機械学習の活用とその運用 #mlops
komiya_atsushi
3
19k
GBDT によるクリック率予測を高速化したい #オレシカナイト vol.4
komiya_atsushi
5
1.4k
Maven central repository の artifact をランキングする #渋谷java
komiya_atsushi
0
1.5k
確率的データ構造を Java で扱いたい! #JJUG
komiya_atsushi
6
2.3k
Other Decks in Programming
See All in Programming
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
320
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
120
XP, Testing and ninja testing ZOZ5
m_seki
1
100
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
430
Current States of Java Web Frameworks at JCConf 2025
kishida
0
550
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
850
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.2k
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
970
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
11k
CSC305 Lecture 01
javiergs
PRO
1
380
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
650
CSC509 Lecture 03
javiergs
PRO
0
320
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Writing Fast Ruby
sferik
629
62k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Transcript
Logback ͷ Appender Λ ࣮ͯ͠ΈΑ͏ ୈճ #ौ୩java 2014-12-13 at BizReach
@komiya_atsushi
͓·ͩΕ
,0.*:""UTVTIJ !LPNJZB@BUTVTIJ
None
None
ʮੈքதͷྑ࣭ͳใΛඞཁͳਓʹૹΓಧ͚Δʯ ͨΊʹɺौ୩ɾࡩٰொͰ ʑδϟόδϟό͍ͯ͠·͢
None
None
ͦ͏͍͏Θ͚Ͱ
ΈΜͳ͍͖ͩ͢ Logback ͷ Appender Λ࣮ͯ͠Έ·͠ΐ͏
None
—
IUUQRJJUBDPNNBDIJUFNTB⒎DBBDBD
ࣾͷใڞ༗ͷେ Slack ্
αʔόͷҟৗঢ়ଶΛ௨͢Δ ઌવ Slack
Java ΞϓϦέʔγϣϯͷ ࣮ߦதʹҟৗ͕ੜͨ͡ͱ͖ɺ Slack ͰѲ͍ͨ͠ʂ
Logback ܦ༝Ͱ Slack ʹ ϝοηʔδΛϙετ͍ͨ͠ʂ
How to
1. Slack API Λୟͨ͘Ίͷ τʔΫϯΛऔಘ͢Δ
http://qiita.com/punchdrunker/items/db9c824397e3affbb210
͖͞΄Ͳ·Ͱ ͭ·͍ͮͯ·ͨ͠ (>_<)
2. Appender Λ࣮͢Δ
جఈΫϥεΛ͍·͠ΐ͏ • AppenderBase<ILoggingEvent> • ࠓճͪ͜ΒΛͬͯΈͨ • UnsynchronizedAppenderBase <ILoggingEvent>
• ͨͿΜͪ͜ΒΛ͏͖
HTTP(S) ௨৴͢ΔॲཧඇಉظͰ • HTTP(S) ͰϦΫΤετΛ͛Δͷ͕͔͔࣌ؒΔ… • Appender ͰεϨουΛ্ཱͪ͛ͯɺϩάΠϕϯτ ΛΩϡʔܦ༝ͰϝΠϯεϨου͔Βڙڅͯ͠Β͓͏ •
ΈΜͳ͍͖ͩ͢ Producer-Consumer ύλʔϯ • ϩάΠϕϯτ͕ Slack ্Ͱલޙ͢ΔͷΑ͘ͳ͍Α Ͷ
ΞϓϦέʔγϣϯऴྃ࣌ͷҙ • Consumer ͷεϨουσʔϞϯεϨουʹ͠ਏ͍ • Thread#setDaemon() • ϩάΠϕϯτ͕ϩάΒΕͣʹফࣦͯ͠͠·͏ࣄଶආ͚͍ͨ •
AppenderBase#stop() ΛΦʔόʔϥΠυ͢ΕΑͦ͞͏ʁ • ࣮ࡍɺ͜ͷࢠΞϓϦέʔγϣϯऴྃ࣌ʹݺͼग़͞ΕΔΘ ͚Ͱͳ͍…ʁϩάϝοηʔδ͕ Slack ্Ͱલޙ͢ΔͷΑ ͘ͳ͍͠
ΞϓϦέʔγϣϯऴྃ࣌ͷҙ • ํͳ͍ͷͰɺҎԼͷΑ͏ͳϔϧύʔϝιο υΛఏڙ͓ͯ͠Λ͢͜ͱʹ • ࠜຊతͳղܾํ๏ืूத
3. logback.xml ͰઃఆͰ͖Δ ΈΛఏڙ͢Δ
ͱͬͯ؆୯ • Appender ࣮ΫϥεʹϓϩύςΟ (getter/ setter) Λ༻ҙ͢Ε OK • ޙͰίʔυΛ͓ݟͤ͠·͢
logback.xml Ͱͷઃఆ͜Μͳײ͡
σϞ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ