@@ -42,21 +42,25 @@ public function getTab() {
42
42
$ errorLogs = array ('errors ' , 'exceptions ' , 'files-errors ' );
43
43
44
44
if ($ this ->wire ('modules ' )->isInstalled ('CustomLogs ' )) {
45
- $ custom_logs = $ this ->wire ('modules ' )->getModuleConfigData ('CustomLogs ' );
45
+ $ custom_logs = $ this ->wire ('modules ' )->get ('CustomLogs ' );
46
+ $ custom_logs_config = $ custom_logs ->data ();
46
47
}
47
48
48
49
foreach ($ logs as $ log ) {
49
50
50
- if (isset ($ custom_logs ) && array_key_exists ($ log ['name ' ], $ custom_logs ['customLogsParsed ' ])) {
51
- continue ;
51
+ if (isset ($ custom_logs ) && array_key_exists ($ log ['name ' ], $ custom_logs_config ['customLogsParsed ' ])) {
52
+ $ isCustom = true ;
53
+ $ lines = $ custom_logs ->getEntries ($ log ['name ' ]);
52
54
}
53
-
54
- $ lines = \TracyDebugger::tailCustom ($ this ->wire ('config ' )->paths ->logs .$ log ['name ' ].'.txt ' , \TracyDebugger::getDataValue ("numLogEntries " ));
55
- $ lines = mb_convert_encoding ($ lines , 'UTF-8 ' );
56
- $ lines = explode ("\n" , $ lines );
57
- foreach ($ lines as $ key => $ line ) {
58
- $ entry = $ this ->wire ('log ' )->lineToEntry ($ line );
59
- $ lines [$ key ] = $ entry ;
55
+ else {
56
+ $ isCustom = false ;
57
+ $ lines = \TracyDebugger::tailCustom ($ this ->wire ('config ' )->paths ->logs .$ log ['name ' ].'.txt ' , \TracyDebugger::getDataValue ("numLogEntries " ));
58
+ $ lines = mb_convert_encoding ($ lines , 'UTF-8 ' );
59
+ $ lines = explode ("\n" , $ lines );
60
+ foreach ($ lines as $ key => $ line ) {
61
+ $ entry = $ this ->wire ('log ' )->lineToEntry ($ line );
62
+ $ lines [$ key ] = $ entry ;
63
+ }
60
64
}
61
65
62
66
$ x =99 ;
@@ -73,14 +77,30 @@ public function getTab() {
73
77
$ logLines = $ logLinesData [$ log ['name ' ]]['lines ' ];
74
78
75
79
foreach ($ logLines as $ entry ) {
80
+
81
+ if (($ isCustom && !isset ($ entry [0 ])) || (!$ isCustom && !isset ($ entry ['date ' ]))) {
82
+ continue ;
83
+ }
84
+
76
85
$ itemKey = $ log ['name ' ] . '_ ' . $ x ;
77
- $ entriesArr [$ itemKey ]['timestamp ' ] = @strtotime ($ entry ['date ' ]); // silenced in case timezone is not set
86
+ $ entriesArr [$ itemKey ]['timestamp ' ] = @strtotime ($ isCustom ? $ entry [ 0 ] : $ entry ['date ' ]); // silenced in case timezone is not set
78
87
$ entriesArr [$ itemKey ]['linenumber ' ] = 99 -$ x ;
79
88
$ entriesArr [$ itemKey ]['order ' ] = $ itemKey ;
80
- $ entriesArr [$ itemKey ]['date ' ] = $ entry ['date ' ];
81
- $ entriesArr [$ itemKey ]['text ' ] = $ entry ['text ' ];
82
- $ entriesArr [$ itemKey ]['user ' ] = $ entry ['user ' ];
83
- $ entriesArr [$ itemKey ]['url ' ] = "<a href=' " .$ entry ['url ' ]."'> " .$ entry ['url ' ]."</a> " ;
89
+ $ entriesArr [$ itemKey ]['date ' ] = $ isCustom ? $ entry [0 ] : $ entry ['date ' ];
90
+ if ($ isCustom ) {
91
+ unset($ entry [0 ]);
92
+ $ entry = array_values ($ entry );
93
+ $ assoc_entry = array ();
94
+ foreach ($ entry as $ key => $ value ) {
95
+ if (isset ($ custom_logs_config ['customLogsParsed ' ][$ log ['name ' ]][$ key ])) {
96
+ $ assoc_entry [str_replace ('{url} ' , '' , $ custom_logs_config ['customLogsParsed ' ][$ log ['name ' ]][$ key ])] = $ value ;
97
+ }
98
+ }
99
+ $ entry = $ assoc_entry ;
100
+ }
101
+ $ entriesArr [$ itemKey ]['text ' ] = $ isCustom ? json_encode ($ entry ) : $ entry ['text ' ];
102
+ $ entriesArr [$ itemKey ]['user ' ] = $ isCustom ? '' : $ entry ['user ' ];
103
+ $ entriesArr [$ itemKey ]['url ' ] = $ isCustom ? '' : "<a href=' " .$ entry ['url ' ]."'> " .$ entry ['url ' ]."</a> " ;
84
104
$ entriesArr [$ itemKey ]['log ' ] = $ log ['name ' ];
85
105
$ x --;
86
106
$ this ->numLogEntries ++;
0 commit comments