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
Infiniteloop
October 18, 2023
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
500万行のPHPプロジェクトにおけるログ出力の歩み
【タガヤス その13】ILの日常業務から 発表資料
https://tagayas.connpass.com/event/145290/
Infiniteloop
October 18, 2023
More Decks by Infiniteloop
See All by Infiniteloop
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
18
89k
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
1
730
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
1
1.1k
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
1
1.6k
詫び石の裏側
infiniteloop_inc
0
970
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
7
36k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
310
ADRという考えを取り入れてみて
infiniteloop_inc
0
320
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
infiniteloop_inc
0
200
Other Decks in Programming
See All in Programming
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
390
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
730
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
330
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
440
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
620
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
370
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
210
源内ハンズオン概要編
hideg
0
210
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
720
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
350
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
仕様駆動開発の消費期限
watany
20
9k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Thoughts on Productivity
jonyablonski
76
5.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
400
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Facilitating Awesome Meetings
lara
57
7.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
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