Slide 1

Slide 1 text

Logback ͷ Appender Λ ࣮૷ͯ͠ΈΑ͏ ୈ۝ճ #ौ୩java 2014-12-13 at BizReach @komiya_atsushi

Slide 2

Slide 2 text

͓·ͩΕ

Slide 3

Slide 3 text

,0.*:""UTVTIJ !LPNJZB@BUTVTIJ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ʮੈքதͷྑ࣭ͳ৘ใΛඞཁͳਓʹૹΓಧ͚Δʯ ͨΊʹɺौ୩ɾࡩٰொͰ ೔ʑδϟόδϟό͍ͯ͠·͢

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

ͦ͏͍͏Θ͚Ͱ

Slide 10

Slide 10 text

ΈΜͳ͍͖ͩ͢ Logback ͷ Appender Λ࣮૷ͯ͠Έ·͠ΐ͏

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Slide 13

Slide 13 text

IUUQRJJUBDPNNBDIJUFNTB⒎DBBDBD

Slide 14

Slide 14 text

ࣾ಺ͷ৘ใڞ༗ͷେ൒͸ Slack ্

Slide 15

Slide 15 text

αʔόͷҟৗঢ়ଶΛ௨஌͢Δ ઌ΋౰વ Slack

Slide 16

Slide 16 text

Java ΞϓϦέʔγϣϯͷ ࣮ߦதʹҟৗ͕ੜͨ͡ͱ͖΋ɺ Slack Ͱ೺Ѳ͍ͨ͠ʂ

Slide 17

Slide 17 text

Logback ܦ༝Ͱ Slack ʹ ϝοηʔδΛϙετ͍ͨ͠ʂ

Slide 18

Slide 18 text

How to

Slide 19

Slide 19 text

1. Slack API Λୟͨ͘Ίͷ τʔΫϯΛऔಘ͢Δ

Slide 20

Slide 20 text

http://qiita.com/punchdrunker/items/db9c824397e3affbb210

Slide 21

Slide 21 text

͖͞΄Ͳ·Ͱ๻΋ ͭ·͍ͮͯ·ͨ͠ (>_<)

Slide 22

Slide 22 text

2. Appender Λ࣮૷͢Δ

Slide 23

Slide 23 text

جఈΫϥεΛ࢖͍·͠ΐ͏ • AppenderBase   • ࠓճ͸ͪ͜ΒΛ࢖ͬͯΈͨ • UnsynchronizedAppenderBase
   • ͨͿΜͪ͜ΒΛ࢖͏΂͖

Slide 24

Slide 24 text

HTTP(S) ௨৴͢Δॲཧ͸ඇಉظͰ • HTTP(S) ͰϦΫΤετΛ౤͛Δͷ͸͕͔͔࣌ؒΔ… • Appender ಺ͰεϨουΛ্ཱͪ͛ͯɺϩάΠϕϯτ ΛΩϡʔܦ༝ͰϝΠϯεϨου͔Βڙڅͯ͠΋Β͓͏ • ΈΜͳ͍͖ͩ͢ Producer-Consumer ύλʔϯ • ϩάΠϕϯτ͕ Slack ্Ͱલޙ͢Δͷ͸Α͘ͳ͍Α Ͷ

Slide 25

Slide 25 text

ΞϓϦέʔγϣϯऴྃ࣌ͷ஫ҙ • Consumer ͷεϨου͸σʔϞϯεϨουʹ͠ਏ͍ • Thread#setDaemon()   • ϩάΠϕϯτ͕ϩάΒΕͣʹফࣦͯ͠͠·͏ࣄଶ͸ආ͚͍ͨ • AppenderBase#stop() ΛΦʔόʔϥΠυ͢Ε͹Αͦ͞͏ʁ • ࣮ࡍ͸ɺ͜ͷࢠ͸ΞϓϦέʔγϣϯऴྃ࣌ʹݺͼग़͞ΕΔΘ ͚Ͱ͸ͳ͍…ʁϩάϝοηʔδ͕ Slack ্Ͱલޙ͢Δͷ͸Α ͘ͳ͍͠

Slide 26

Slide 26 text

ΞϓϦέʔγϣϯऴྃ࣌ͷ஫ҙ • ࢓ํͳ͍ͷͰɺҎԼͷΑ͏ͳϔϧύʔϝιο υΛఏڙ͓ͯ͠஡Λ୙͢͜ͱʹ • ࠜຊతͳղܾํ๏ืूத

Slide 27

Slide 27 text

3. logback.xml ͰઃఆͰ͖Δ ࢓૊ΈΛఏڙ͢Δ

Slide 28

Slide 28 text

ͱͬͯ΋؆୯ • Appender ࣮૷ΫϥεʹϓϩύςΟ (getter/ setter) Λ༻ҙ͢Ε͹ OK • ޙͰίʔυΛ͓ݟͤ͠·͢

Slide 29

Slide 29 text

logback.xml Ͱͷઃఆ͸͜Μͳײ͡

Slide 30

Slide 30 text

σϞ

Slide 31

Slide 31 text

͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ