ログの設計してますか?PSR3とログ設計の話

 ログの設計してますか?PSR3とログ設計の話

PHPカンファレンス福岡2018 #phpconfuk #hall_fu

F04982ad61107b5408ad139966596316?s=128

Ryo Tomidokoro

June 16, 2018
Tweet

Transcript

  1. *OOPWBUPS+BQBO*OD ෋ॴ྄ &OHJOFFS ϩάͷઃܭͯ͠·͔͢ʁPSR3ͱϩάઃܭͷ࿩ PHPΧϯϑΝϨϯε෱Ԭ2018

  2. ͓஌Βͤ εϥΠυ͸SpeakerDeckʹΞοϓ͠·͕͢… ࡱӨ౳΋ࣗ༝ʹͯ͠௖͍ͯ໰୊͋Γ·ͤΜ !IBOIBO

  3. ͜ͷτʔΫͷ໨ඪ एखΤϯδχΞ தݎΤϯδχΞ ˠϩάग़ྗʹ͍ͭͯͷ͸͡ΊͷҰา ˠυΩυΩͯ͠΋Β͏

  4. ࠓճ͓࿩͢Δϩάग़ྗ ΞϓϦέʔγϣϯϩά ߦಈϩά΍΢Σϒαʔόͷϩά౳͸ର৅֎ ओॲཧʹӨڹΛ༩͑ͣɺόον΍΢ΣϒΞϓϦ ͷॲཧ్தͰԿΒ͔ͷ৘ใΛ֎෦ʹग़ྗ͢Δ

  5. ࠓճͷείʔϓ֎ͷ࿩ 'MVFOUE -PHTUBTI ϩάऩू ϩάՄࢹԽ ,JCBOB &MBTUJD4FBSDI

  6. ಋೖ

  7. ಋೖ ͋Δ೔

  8. ಋೖ εϐʔσΟʔʹ WBS@EVNQ Λॻ͍ͨΓফͨ͠Γ͢ΔएखΛ໨ܸɻ

  9. ಋೖ

  10. ಋೖ

  11. ಋೖ

  12. ಋೖ ఆৗతͳ஋ͱ͔ͷνΣοΫ͸ ϩάग़ྗͷ͕ศརΑͱ఻͑Δɻ

  13. ಋೖ ·ͬͨ͘ϐϯͱདྷͯͳ͍ͷΛ؍ଌ

  14. ಋೖ ϩάग़ྗʹ͍ͭͯ఻तͤͶ͹ʂ

  15. ಋೖ ࢥ͍ฦͯ͠ΈΔͱɻ ࣗ෼΋ϩάग़ྗͷํ๏ͱ͔शͬͨ͜ͱͳ͍ɻ งғؾͰग़ྗ͍ͯ͠Δʜ

  16. ಋೖ ϩάग़ྗͷΞϨίϨΛ·ͱΊͯ νʔϜͷڞ௨ೝࣝΛ࡞Γ͍ͨ σόοά΍γεςϜӡ༻ʹ͓͚Δڧ͍෢ثʹͳΔ

  17. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  18. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  19. ϩάग़ྗͱ͸ʁ -PHHJOHJTUIFBDUPGLFFQJOHBMPH -PHpMF8JLJQFEJB ৘ใMPH ΛͲ͔͜ʹग़ྗ͢Δ͜ͱ ఆٛ͸؇͍ʜ

  20. ϩάग़ྗʹؔΘΔ࢓༷ 3'$ TZTMPHͷ࢓༷͔͜͜Β৭ʑͱ೿ੜ 143 -PHHFS*OUFSGBDF

  21. ϩάग़ྗʹؔΘΔ࢓༷ 3'$ TZTMPHͷ࢓༷͔͜͜Β৭ʑͱ೿ੜ 143 -PHHFS*OUFSGBDF 1)1FS.VTU3FBE

  22. 143ͷ֓ཁ ͭͷ࢓༷ ୹͍ͷͰͥͻ࣮ࡍʹಡΜͰ΄͍͠ IUUQTXXXQIQpHPSHQTSQTS

  23. 143ͷ֓ཁ #BTJDT 3'$४ڌͭͷϩάϨϕϧ ͭͷग़ྗϝιου

  24. ϩάϨϕϧͱ͸ʁ EFCVH JOGP OPUJDF XBSOJOH FSSPS DSJUJDBM BMFSU FNFSHFODZ ॏେ౓

  25. ϩάϨϕϧͱ͸ʁ EFCVH JOGP OPUJDF XBSOJOH FSSPS DSJUJDBM BMFSU FNFSHFODZ -0(@-&7&-XBSOJOH

    ग़ྗ͞Εͳ͍
  26. 143ͷ֓ཁ .FTTBHF ϝοηʔδ͸TUSJOH͔@@UP4USJOH Λ࣮૷ͨ͠PCKFDU ͦ͏Ͱͳ͚Ε͹ɺத਎ΛTUSJOHʹΩϟετ ϝοηʔδิ׬

  27. 143ͷ֓ཁ $POUFYU DPOUFYUʹ͸ԿΛ౉͞Εͯ΋͍͔ͳΔྫ֎΋UISPX͠ ͳ͍ɻ·ͨFSSPS΋XBSOJOH΋OPUJDF΋ग़͞ͳ͍ &YDFQUJPOΦϒδΣΫτ͸AFYDFQUJPOAͱ͍͏LFZ ໊Ͱηοτ͢Δ

  28. 143ͷ֓ཁ )FMQFSDMBTTFTBOEJOUFSGBDF 1TS४ڌͷ-PHΫϥεɺΠϯλϑΣʔεɺτϨΠτ ͷઆ໌

  29. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  30. Կނϩάग़ྗΛߦ͏ͷ͔ʁ QSJOUσόοά͡Όବ໨ͳͷ͔ʁ

  31. QSJOUσόοά ൃݟతख๏ ώϡʔϦεςΟοΫ ݟ౰͕͍͍ͭͯΔݪҼͷߜࠐ 5SZ&SSPSͷͯͬͱΓૣ͍ํ๏

  32. QSJOUσόοάͷ໰୊఺ ࠶ݱੑʹ๡͍͠ QSJOUফ͠๨Ε໰୊ ͖ͬ͞ॻ͍ͨWBS@EVNQ͸΋͏ແ͍ ͳΜ͔ը໘ͷࠨ্ʹग़ͯΔʜ

  33. QSJOUσόοάͷ໰୊఺ ಉ͜͡ͱͷ܁ฦ ຊ൪؀ڥͰ͸ແཧ -B[JOFTTҧ൓ͷ൓෮QSJOU WBS@EVNQग़ͤ·ͤΜʜ

  34. QSJOUσόοάͷ໰୊఺ ΞϓϦέʔγϣϯ΁ͷӨڹ QSJOUͱFYJUͷ૊߹ͤ 'SBNF8PSLͷऴ୺ॲཧΛ๦֐ ։ൃ؀ڥʹ͓͍ͯɺ࠶ݱͮ͠Β͍ඍົͳόάΛੜΈग़͢

  35. ϩάग़ྗͷಛ௃ ࠶ݱੑ͕͋Δ ղੳతͳσόοά ઃஔՕॴ͸ৗʹಉ༷ʹϩάग़ྗ มߋʹΑΔࠩҟΛޙ͔ΒղੳՄೳ

  36. ͜Μͳ࣌͸ϩάग़ྗ ৗʹ֬ೝ͍ͨ͠৘ใ όονͷ࣮ߦ৘ใ ຊ൪؀ڥͰݟ͍ͨ৘ใ

  37. ৗʹ֬ೝ͍ͨ͠৘ใ WJFXςϯϓϨʔτʹ౉ͨ͠஋ "1*ݺͼग़͠ͷ։࢝ɾऴྃ ࣮ߦͨ͠42-ͱύϥϝʔλ

  38. ຊ൪؀ڥͰݟ͍ͨ৘ใ ։ൃ؀ڥͰ࠶ݱ͠ͳ͍ෆ۩߹ͷݕূϩά ߈ܸݕ஌ϩά -PHJO߈ܸ౳ ܦ೥ྼԽ͕༧ଌ͞ΕΔՕॴͷܭଌϩά

  39. όονͷ࣮ߦ৘ใ ։࢝࣌ؒɾऴྃ࣌ؒ "#&/%࣌ͷఀࢭՕॴ ॲཧ݅਺ ࠶࣮ߦίϚϯυ ͜Ε͸ຊ౰ʹΦεεϝɻ

  40. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  41. Ͳ͏΍ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ 143४ڌՄೳͳϥΠϒϥϦʔ .POPMPH ;FOE-PHHFS ϑϨʔϜϫʔΫ͕ఏڙ͢ΔϩΨʔ ϩάΛૉ௚ʹग़ͤΔͳΒɺ143ඇ४ڌͰ΋ྑ͍

  42. Ͳ͏΍ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ΦϨΦϨϩΨʔ͸ବ໨͔ʁ ษڧͷͨΊͷंྠͷ࠶ൃ໌͸0, Ͱ΋ຊ൪ར༻͸΍Ί·͠ΐ͏

  43. Ͳ͏΍ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ੜͰFSSPS@MPHؔ਺ͱ͔͸/( ͨͩ͠ɺօʹ΋౎߹ͬͯ΋ͷ͕͋Δ͜ ͱ͸ࢲ΋ཧղ͍ͯ͠Δ ͍Θͣ΋͕ͳ ෼͔ΓΈ͕͋Δ

  44. Ͳ͏΍ͬͯϩάग़ྗΛߦ͏ͷ͔ʁ ͓ߦّͷѱ͍ϩάग़ྗ͸ఫڈ͕جຊ ඃ֐͕গͳ͍͏ͪʹखΛଧ͍ͬͯ͜͏ ͱ͸͍͑ ೔෇ͷϑΥʔϚοτͱ͔ͰϞχϣΓͨ͘ͳ͍

  45. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  46. ϩάग़ྗͷϦεΫ ϩάग़ྗ͸໾ʹཱͭ ͨͩ͠ɺϦεΫΛ಄ʹೖΕ͓ͯ͘ ඞཁ͕͋Δ

  47. ϦεΫ ৘ใ࿙͍͑ ΞϓϦέʔγϣϯ࣮ߦͷ๦֐ ϩάग़ྗͷઃఆϛε ҙਤ͠ͳ͍ݸਓ৘ใऩू

  48. ৘ใ࿙͍͑ εϥυ IUUQTTFDVSJUZTSBEKQTUPSZ

  49. ྫ͑͹͜Μͳίʔυ %#Ͱύεϫʔυ҉߸Խͯͯ͠΋୆ແ͠

  50. ΞϓϦέʔγϣϯ࣮ߦͷ๦֐ Τϥʔൃੜ࣌ͷϩάΛϝʔϧૹ৴ όάϦϦʔεͰେྔͷΤϥʔϝʔϧ ϝʔϧૹ৴Ͱ٧·ͬͯʜ Τϥʔൃੜ࣌ͷϩάΛ4MBDLͰૹ৴ όάϦϦʔεͰSZ ·͞ʹΧΦε

  51. ઃఆϛε EFCVHϩά͕ຊ൪Ͱ΋ग़ͬͺͳ͠ ๲େͳྔͷϩάग़ྗ ΫΤϦύϥϝʔλʔ΋ʜ ૠೖɾߋ৽σʔλ͕શ෦࿙Ӯ͍ͯ͠ΔͷͱҰॹ

  52. ઃఆϛε ϩάΛ༗ޮ׆༻͢Δ ϩάϨϕϧͷઃఆϛε͕க໋ই

  53. ઃఆϛε ݟ͍ͨ࣌ʹϩά͕ͳ͍ ϦϦʔεͰϩάϑΝΠϧ͕ॻ׵ όάमਖ਼ޙʹݕূෆՄೳ ϩάͷग़ྗઌ͸ΞϓϦσΟϨΫτϦ֎ʹ

  54. ઃఆϛε Πϯϑϥͷ͓͡͞Μ͸ ΞϓϦέʔγϣϯϩά͸कඋൣғ֎ ࣗ෼ͷ਎͸ࣗ෼ͰकΕ

  55. ݸਓ৘ใ ݸਓ৘ใ͕ϩάʹग़ྗ͞Ε͍ͯΔ৔߹ (%13ͷേଇ͸ॏ͍ͨ ϓϥΠόγʔϙϦγʔ΁ͷهࡌ͸ʁ Ϣʔβ͕ಉҙͯ͠ͳ͍ར༻͸/(

  56. ݸਓ৘ใ ҙਤͤͣʹߦಈϩάΛऩूͯ͠͠·͍ͬͯ ͳ͍͔ʁόϨͳ͚Ε͹ྑ͍ͱ͍͏໰୊Ͱ͸ ͳ͍ɻ

  57. ҙࣝ͢΂͖ॏཁࣄ߲ ϩάग़ྗͰ͍͔ͳΔσʔλ΋࿙ӮՄೳ ϩάϑΝΠϧͷةݥੑΛཧղ͍ͯ͠ͳ͍ͱॏେ ͳଛࣦΛҾ͖ى͜͢Մೳੑ ੒௕͍ͯ͠ΔΞϓϦ͸ಛʹ஫ҙ

  58. ͜͏͍͏ίʔυʹ൓Ԡ͢ΔΑ͏ʹʂ ΍͹͍৘ใΛEFCVHҎ֎Ͱग़ྗ

  59. ͜͏͍͏ίʔυʹ൓Ԡ͢ΔΑ͏ʹʂ ઃఆϛεͰҰൃπϞͦ͠͏ͳϩά

  60. Ͱ͸Ͳ͏͠Ζͱʁ ΋͏ϩάͳΜͯग़ྗ͠ͳ͍΄͏͕ʜ ͦΕ΋Ұͭͷਖ਼ղͱͯ͠ΞϦ

  61. 0VUMJOF 8IBUJTMPHHJOH 8IZZPVMPH )PXZPVMPH 3JTLPGMPHHJOH 8IBUZPVTIPVMEQSFQBSF

  62. ԿΛܾΊ͓͚ͯ͹͍͍ͷ͔ʁ ΞϓϦέʔγϣϯ։ൃ࣌ ΞϓϦέʔγϣϯӡ༻࣌ ͦΕͧΕͷܾΊ͝ͱϩάઃܭ

  63. ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱ -PHHFSͷબఆ .FTTBHFͷϧʔϧ جຊػೳʹେࠩ͸ແ͍ͷͰɺঢ়گʹ߹Θͤͯॊೈʹɻ -PHHFS࢖͍ͬͯΕ͹େ·͔ͳϑΥʔϚοτ͸߹͍ͬͯΔ ·ͣ͸։ൃऀ೚ͤͰ΋ྑ͍͔΋

  64. ΞϓϦέʔγϣϯ։ൃ࣌ͷܾΊ͝ͱ ڞ௨ग़ྗ಺༰ όονϩάͷग़ྗϑΥʔϚοτ 3FBENFʹॻ͍͓͍ͯͯ͋͛·͠ΐ͏ɻ ΫΤϦϩάɺWJFXύϥϝʔλ౳ మ൘Ͱ໾ཱͭͷͰ࡞Γ·͠ΐ͏ɻ

  65. ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱ ؀ڥຖͷϩάϨϕϧ ϩάϑΝΠϧͷϩʔςʔγϣϯɺӬଓԽํ๏ ։ൃ؀ڥ͸EFCVH ຊ൪؀ڥ͸XBSOJOH౳ ΞϓϦέʔγϣϯΤϯδχΞͷ੹೚ʂ ޙͰղੳͰ͖ΔΑ͏ʹ͓ͯ͘͜͠ͱ

  66. ΞϓϦέʔγϣϯӡ༻࣌ͷܾΊ͝ͱ ϩάϨϕϧઃఆͷϑΣʔϧηʔϑ Ϗϧυ࣌ʹEFCVHϨϕϧͷϩάΛ࡟আ %*Ͱۭϩάग़ྗ࣮૷ʹ੾ସ ϩάग़ྗઌͱग़ྗํ๏ ϝʔϧ΍4MBDL͸ϒϩοΩϯά͠ͳ͍ํ๏ ಉ͡಺༰ͷΤϥʔϩάͷग़ྗ཈੍

  67. ·ͣ͸࠷௿ݶ͔Β ग़དྷͨͯͷΞϓϦͰ׬ᘳΛ໨ࢦ͢ͷ͸ແཧ ΞϓϦͷ੒௕ϑΣʔζʹ߹ΘͤͯɺϦεΫͱ্ खʹௐ੔͍ͯ͘͜͠ͱ͕ॏཁ

  68. ·ͱΊ एखΤϯδχΞͷํ΁ ϩάग़ྗ͸Τϥʔͷݕ஌ͱղੳΛߦ͏ڧྗͳखஈ ࡞๏ʹͷͬͱΓͭͭੵۃతʹ׆༻͠·͠ΐ͏

  69. ·ͱΊ தݎΤϯδχΞͷํ΁ ͋ͳͨͷΞϓϦέʔγϣϯͷϩά͸େৎ෉Ͱ͔͢ʁ υΩυΩͯͨ͠Βਅ݋ͳӡ༻Λߟ͑·͠ΐ͏ɻ

  70. ૉఢͳϩάग़ྗੜ׆Λʂ