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.4k
#渋谷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.5k
#JJUG Fork/Join フレームワークを効率的に正しく使いたい
komiya_atsushi
0
540
[#JSUG] SmartNews における container friendly な Spring Boot アプリケーション開発
komiya_atsushi
1
11k
Java のデータ圧縮ライブラリを極める #jjug_ccc #ccc_c7
komiya_atsushi
4
5.2k
#devsumi 自然言語処理・機械学習によるファクトチェック業務の支援
komiya_atsushi
1
4.7k
SmartNews Ads における機械学習の活用とその運用 #mlops
komiya_atsushi
3
20k
GBDT によるクリック率予測を高速化したい #オレシカナイト vol.4
komiya_atsushi
5
1.4k
Maven central repository の artifact をランキングする #渋谷java
komiya_atsushi
0
1.5k
確率的データ構造を Java で扱いたい! #JJUG
komiya_atsushi
6
2.4k
Other Decks in Programming
See All in Programming
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
Go コードベースの構成と AI コンテキスト定義
andpad
0
160
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
5k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
710
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
260
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
180
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
160
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
530
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
500
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.3k
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
410
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
40
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
230
What's in a price? How to price your products and services
michaelherold
246
13k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
110
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
RailsConf 2023
tenderlove
30
1.3k
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 Ͱͷઃఆ͜Μͳײ͡
σϞ
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ