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
500万行のPHPプロジェクトにおけるログ出力の歩み
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Infiniteloop
October 18, 2023
Programming
0
200
500万行のPHPプロジェクトにおけるログ出力の歩み
【タガヤス その13】ILの日常業務から 発表資料
https://tagayas.connpass.com/event/145290/
Infiniteloop
October 18, 2023
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
18
74k
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
1
620
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
1
920
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
1
1.4k
詫び石の裏側
infiniteloop_inc
0
870
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
7
35k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
270
ADRという考えを取り入れてみて
infiniteloop_inc
0
270
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
170
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
120
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
630
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
MUSUBIXとは
nahisaho
0
140
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
CSC307 Lecture 01
javiergs
PRO
0
690
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
高速開発のためのコード整理術
sutetotanuki
1
410
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
dchart: charts from deck markup
ajstarks
3
1k
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
So, you think you're a good person
axbom
PRO
2
1.9k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Art, The Web, and Tiny UX
lynnandtonic
304
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Fireside Chat
paigeccino
41
3.8k
Documentation Writing (for coders)
carmenintech
77
5.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
ສߦ 1)1ϓϩδΣΫτʹ͓͚Δϩάग़ྗͷาΈ λΨϠεͦͷ 1
4IJOJDIJ4BUP ࣗݾհ ࠤ౻৳Ұ גࣜձࣾΠϯϑΟχοτϧʔϓ 2
͓ࣄ ϓϩδΣΫτͷΧελϚʔαϙʔτܥ ௐࠪΛ୲ ɾΧελϚʔαϙʔτ $4 ܥͷௐࠪɾରԠ ɾ$4ͷۀʹؔ͢Δվળ ɾԆͷௐࠪɺվળ ͳͲͳͲʜ 3
ϩάͷ͍ಓ ϩάͬͯͲΜͳ༻్ʹΘΕΔΜͩΖ͏ʁ ɾಈ࡞ௐࠪ ɾੑೳௐࠪ ɾ͍߹Θͤௐࠪ ɾԆௐࠪ ɾ,1*ௐࠪ ͳͲͳͲʜ 4
ϩάͦΜͳʹ͍Ζ͍Ζ͑ΔͷͰ͋Ε ͬͱೖΕΑ͏ʂͱࢥ͏͕ʜ 1+ॳظͷϩάͷ͠͞ 5
։ൃॳظʹ༨༟͕ͳ͘ϩάʹ࣌ؒΛ͔͚Εͳ͍ ։ൃॳظஈ֊ͰϝΠϯͷػೳ։ൃͰ͕࣌ؒͱΒΕͯ ϩάͷݕ౼࣮·Ͱख͕·ΘΒͳ͍ 6
αʔϏεͷӡ༻ظ͕ؒෆ໌ αʔϏεͷӡ༻͕ͲΕ͘Β͍ͷظؒ͞ΕΔͷ͔ ϩάʹ࣌ؒΛͲΕ͘Β͍͔͚Δ͖ͳͷ͔அ͕͍͠ 7
Կͷϩά͕ඞཁͳͷ͔ݕ౼͕ඞཁ Ͳ͏͍͏ใ͕ඞཁʹͳΔͷ͔ ͲΜͳछྨͷϩά͕ඞཁͳͷ͔ݕ౼͕ඞཁ 8
ӡ༻ʹೖ͔ͬͯΒཉ͘͠ͳΔ ॏཁੑ͕ӡ༻ʹೖ͔ͬͯΒ໌Β͔ʹͳͬͨΓ ඞཁͳ͜ͱʹؾͮ͘ใ͋Δ 9
ใͷࢄ ։ൃॳظʹ༷ʑͳ ϩά͕͋Γͯ͢ͷϩάΛඥ͚ͮͯௐࠪ͢Δͷେม 10
ϩάͷछྨ͕ෳ͋Γใ͕ͦΕͧΕࢄ ͞Εͯग़ྗ͞Ε͍ͯͨ 11
ҟͳΔଐੑͷใͱΈ߹Θͤͯඥ͚ͮ ɾ"1*ϩά ɾαʔόʔϩά ɾ%#্ͷσʔλ ඥ͚ͮͷྫ αʔόʔͷϩάʹॲཧதͷใ͔͠ͳ͘"1*Ͱ ͲΜͳΛड͚ೖΕͨͷ͔"1*ͷϩάΛΈΔ 12
ใΛݟͯϚʔδ͢Δ࡞ۀ͕ඞཁʹͳΔ ಉ͡ଐੑͱඥͮ͘ͷͲΕͰͲͷΑ͏ͳ ͭͳ͕ΓΛϚʔδ͢Δඞཁ͕͋Δ 13
ใ͕ࢄ͍ͯ͠ΔͷͰ୳ͮ͠Β͍ αʔόʔϩάΛڧԽͯ̍͠छྨͷϩάͰͳΔ ͘ݟΕΔ ͑Δ Α͏ʹऩूϩάΛڧԽ 14
$MPVE8BUDI "84͕ఏڙ͢Δ ʮϑϧϚωʔδυӡ༻ࢹαʔϏεʯ 15
֤छΠϯελϯεͳͲͷ ϞχλϦϯάσʔλͱӡ༻σʔλΛऩू͠ҟৗͷ ݕσʔλͷࢹ֮ԽΛߦ͑ͨΓ͠·͢ 16
ϩάʹؔͯ͠ҎԼΛ༻͍ͯ͠·͢ ɾ$MPVE8BUDI-PHT ɾ$MPVE8BUDI-PHT*OTJHIUT 17
$MPVE8BUDI-PHT ΠϯελϯεͳͲ͓Αͼͦͷଞͷιʔεͷ ϩάϑΝΠϧͷࢹɺอଘɺΞΫηε͕Ͱ͖·͢ɻ 18
ɾϩάͷςΩετݕࡧ ɾ+40/ܗࣜͷϝοηʔδ ؆ૉͳ݅ݕࡧͳͲ͕ՄೳͰ͢ 19
ओʹͲΜͳ͜ͱʹ༻͍ͯ͠Δ͔ʁ ɾॳಈௐࠪ࣌ͷϩάͷ֬ೝ ɾ؆ૉͳςΩετɾ+40/ݕࡧͰߦ͑Δ֬ೝ 20
ը໘Πϝʔδ 21
ςΩετݕࡧ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ ςΩετݕࡧྫ ϩάςετ ˞ςΩετݕࡧͰ֯εϖʔε۠ΓͰ"/%ݕࡧ 22
+40/ݕࡧ +40/ܗࣜͷ߹ͷ݅ݕࡧ \EFUBJMNFTTBHFϩάςετ^ \EFUBJMNFTTBHFϩάςετEFUBJMIPHF@JE^ 23 ϩάྫ \ UJNFTUBNQ DPNNPO\
DMPDL ^ EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^
$MPVE8BUDI-PHT*OTJHIUT "NB[PO$MPVE8BUDI-PHTͷϩάσʔλΛ ΠϯλϥΫςΟϒʹݕࡧͯ͠ੳͰ͖·͢ɻ ΫΤϦΛ࣮ߦ͢Δ͜ͱͰɺӡ༻্ͷʹ͢ ͘ޮՌతʹରԠͰ͖·͢ɻ 24
$MPVE8BUDI-PHTΑΓෳࡶͳઐ༻ΫΤϦ Λ͛ͯΑΓৄࡉͳߜΓࠐΈநग़Λߦ͏͜ ͱ͕ՄೳͰ͢ 25
ओʹͲΜͳ͜ͱʹ༻͍ͯ͠Δ͔ʁ ɾௐࠪ࣌ͷϩάͷ֬ೝɾूܭ ɾઐ༻ΫΤϦɾίϚϯυΛ͛ͯूܭ͢Δ ɾूܭͷ؆қతͳՄࢹԽ 26
27 ը໘Πϝʔδ
ΫΤϦݕࡧ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ $MPVE8BUDI-PHT*OTJHIUTͰͷ݅ݕࡧ pMUFS!NFTTBHF-*,&ϩάςετ pMUFS!NFTTBHF-*,&ϩάςετBOEEFUBJMIPHF@JE 28
ΫΤϦݕࡧ ूܭ $MPVE8BUDI-PHT*OTJHIUTͰͷ݅ݕࡧ ྫɿ͝ͱʹϩάʹه͞ΕΔྫ֎ϩάͷ pMUFS!NFTTBHFMJLF&YDFQUJPO cTUBUTDPVOU BTFYDFQUJPO$PVOUCZCJO N cTPSUFYDFQUJPO$PVOUEFTD
29 CJO N FYDFQUJPO$PVOU 5 5 ݁Ռྫ
άϥϑදࣔ ΫΤϦݕࡧޙɺൃੜ͕݅άϥϑͰදࣔ͞Ε·͢ ɾൃੜͷ ɾൃੜͷස ͳͲΛ༰қʹՄࢹԽͯ֬͠ೝ͢Δ͜ͱ͕Ͱ͖·͢ 30
͜Ε͚ͩͰௐࠪͱूܭͰ͖Δ͕ʜ ੍࣮ݶͳͲ͕͋ͬͨΓ͠·͢ 31
ɾઐ༻ΫΤϦίϚϯυ ɾݕࡧ݁Ռߦ·Ͱͷ੍ݶ͕͋Δ )*5͕݅݅͑Δͷ͕ͩʜ ,1*ͷੳͱ͔͢ΔʹͭΒ͍ʜ $MPVE8BUDI-PHT*OTJHIUTͷऑ ˞࠷ۙ·ͰΠϯελϯεލ͗ͰݕࡧͰ͖ͳ͔ͬͨΓ ˞ݱࡏͷใ 32
"UIFOB "84͕ఏڙ͢Δ 4ͷσʔλΛඪ४42-Λ༻ͯ͠ੳͰ͖Δ ϩάσʔλΛΫϩʔϧͨ͠ςʔϒϧใ ඪ४తͳ42-ΫΤϦΛൃߦͯ͠ෳͷ छྨͷϩάใΛ݁߹͠ूܭΛߦ͏͜ͱ͕Ͱ͖Δ 33
σʔλΛ4 "84ͷετϨʔδαʔϏε సૹ ͢Δඞཁ͋Γ·͕͢ ରσʔλ42-Λ͛ͯσʔλ͕औಘ͍͢͠ ɾඪ४తͳ42-ΫΤϦΛ༻Ͱ͖ΔͷͰֶशίετ͍ ɾߦͳͲͷ੍ݶ͕ͳ͍ 34
"UIFOBͷύΠϓϥΠϯ 35
ը໘Πϝʔδ 36
ςʔϒϧྫͦͷ̍ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ IPHF@JE@UBCMF 37
4&-&$5ͷྫ 4&-&$5 UJNFTUBNQBTUJNF DPNNPODMPDLBTDMPDL EFUBJMNFTTBHFBTNFTTBHF EFUBJMIPHF@JEBTIPHF@JE '30.
IPHF@JE@UBCMF UJNFDMPDLNFTTBHFIPHF@JE ϩάςετ ݁Ռ 38
ςʔϒϧྫͦͷ̎ ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^
EFUBJM\ NFTTBHFϩάςετ IPHF@JE ^ ^ IPHF@JE@UBCMF ϩάྫ \ UJNFTUBNQ DPNNPO\ DMPDL ^ EFUBJM\ NFTTBHFςετΞΠςϜ IPHF@JE ɹɹJUFN@JE ^ ^ IPHF@VTF@JUFN@UBCMF 39
+0*/ͷྫ 4&-&$5 IPHF@JE@UBCMFEFUBJMIPHF@JEBTIPHF@JE IPHF@VTF@JUFN@UBCMFEFUBJMJUFN@JEBTJUFN@JE '30. IPHF@JE@UBCMF +0*/ IPHF@VTF@JUFN@UBCMF 0/ IPHF@JE@UBCMFIPHF@JEIPHF@VTF@JUFN@UBCMFIPHF@JE
IPHF@JEJUFN@JE ݁Ռ 40
"UIFOB༻ͯ͠Έͯ ɾूܭ͕ࠔͩͬͨ,1*ͷूܭ ɾσʔλͷՄࢹԽΛࢹʹೖΕͨूܭ ɾαʔϏεͷ%#ʹґଘ͠ͳ͍҆શͳूܭ ɾΧδϡΞϧʹ42-ΫΤϦΛ͛ͯूܭ͕Ͱ͖Δ 41
ϩάͷྺ࢙ ॳظ ɾϩά͕ͳ͍ ɾϧʔϧ͕ܾ·ͬͯͳ͍ ɾूܭ͕Ͱ͖ͳ͍ ɾαʔόʔ্ͷςΩετϕʔεͷϩά͔Βूܭ 42
ϩά͕ͳ͍ ɾඞཁͳϩάͷચ͍ग़͠ɾϩάͷՃ ɾαʔόʔϩάʹใΛू 43
ɾඞཁͰ͋Δ͖ϩά͕ͳ͍ ɾϑΥʔϚοτ͕༷ʑ ϧʔϧ͕ܾ·ͬͯͳ͍ 44
ɾϩά͕ͳ͘ूܭ͕͍͠ ɾ෮ݩ%#ʹཔΔͷͰίετ͕ߴ͍ ूܭ͕Ͱ͖ͳ͍ 45
ɾHSFQྗίϚϯυͷࣝͳͲʹґଘ ɾूܭํ๏༷ʑ ςΩετϕʔεͷϩά͔Βूܭ 46
ϩάͷྺ࢙ தظ ɾϩάͷू ɾϩάͷܽམ ɾϩάϑΥʔϚοτͷमਖ਼ 47
ϩάͷू ɾ֤αʔόʔ͕ϩάΛqVFOUEͰதܧαʔόू 48
ϩάͷܽམ ɾ֤αʔόʔ͔ΒϩάΛqVFOUEͰҰ୴ ɹதܧαʔόʹू͍͕ͯͨ͠ɺू࣌ʹ ɹ࣌ં٧·Γ͕ൃੜ͠ϩά͕ܽམ͍ͯͨ͠ɻ ɾ֤αʔόʔͷखݩʹॻ͖ग़͠ɺ֤αʔόͰ ɹ$MPVE8BUDIసૹ 49
ϩάϑΥʔϚοτͷमਖ਼ ɾϩάͷه๏ϧʔϧܾΊ ɾओʹϑΥʔϚοτͷ౷ҰͰݕࡧੑͷ্ ɹ ݕࡧ࿙Εରࡦ 50
ϩάͷྺ࢙ ࠷ۙ ɾϩάग़ྗͷ+40/Խ ɾԆϩάͳͲͷϞχλϦϯά ɾ*OTJHIUTɾ"UIFOBͷ׆༻ 51
ϩάग़ྗͷ+40/Խ ɾ$MPVE8BUDI্ͰͷݕࡧੑΛ্ ɾϩάه๏ͷ͞ΒͳΔϧʔϧܾΊ 52
ԆϩάͳͲͷϞχλϦϯά ɾ$MPVE8BUDIΛ༻ͨ͠Ԇϩάͷݟ͑ΔԽ ɾݟ͑ΔԽʹΑΓؾ͖ͮ͘͢ͳΓΛൃݟ ɹ͘͢͠ͳͬͨ 53
*OTJHIUTɾ"UIFOBͷ׆༻ ɾϩάͷूܭํ๏ͷཱ֬ ɾϩά͔Βͷਂງͨ͠ूܭͷ࣮ݱ 54
ݱࡏʹࢸΔʜ 55
࠷ޙʹ ɾϩάओͰͳ͍͕αʔϏεͷӡ༻ɾվળ ɹΛߦ͏ͨΊʹॏཁ ɾͰ͖Δ͚ͩαʔϏεΠϯલ͔ΒϧʔϧඋΛ ɾϩάͱ͖߹͏͜ͱʹγεςϜͱ͖߹͏͜ͱ ɾϩάͱ͍͏ଘࡏΛΕͳ͍ 56
ͨ·ʹʜ ϩάͷ͜ͱؾʹ͔͚ͯ͋͛·͠ΐ͏ স ?@? 57
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 58