Changeset 69 for Include/Classes/System/Diagnostics
- Timestamp:
- Jan 19, 2007, 3:34:12 AM (18 years ago)
- Location:
- Include/Classes/System/Diagnostics
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Include/Classes/System/Diagnostics/Debug.ab
r43 r69 2 2 3 3 Class Debug 4 Static base As _System_TraceBase() 5 4 6 Public 7 8 '---------------------------------------------------------------- 9 ' パブリック メソッド 10 '---------------------------------------------------------------- 11 12 ' アサート(コールスタックを表示) 13 Static Sub Assert( condition As Boolean ) 14 base.Assert( condition ) 15 End Sub 16 17 ' アサート(メッセージ文字列を表示) 18 Static Sub Assert( condition As Boolean, message As String ) 19 base.Assert( condition, message ) 20 End Sub 21 22 ' アサート(メッセージ文字列と詳細文字列を表示) 23 Static Sub Assert( condition As Boolean, message As String, detailMessage As String ) 24 base.Assert( condition, message, detailMessage ) 25 End Sub 26 27 28 ' インデントレベルを上げる 29 Static Sub Indent() 30 base.Indent() 31 End Sub 32 33 ' インデントレベルを下げる 34 Static Sub Unindent() 35 base.Unindent() 36 End Sub 37 38 ' 文字列を出力 39 Static Sub Write( value As Object ) 40 base.Write( value ) 41 End Sub 42 Static Sub Write( message As String ) 43 base.Write( message ) 44 End Sub 45 Static Sub Write( value As Object, category As String ) 46 base.Write( value, category ) 47 End Sub 48 Static Sub Write( message As String, category As String ) 49 base.Write( message, category ) 50 End Sub 51 52 ' 一行の文字列を出力 53 Static Sub WriteLine( value As Object ) 54 base.WriteLine( value ) 55 End Sub 5 56 Static Sub WriteLine( message As String ) 6 Trace.WriteLine( message ) 7 End Sub 57 base.WriteLine( message ) 58 End Sub 59 Static Sub WriteLine( value As Object, category As String ) 60 base.WriteLine( value, category ) 61 End Sub 62 Static Sub WriteLine( message As String, category As String ) 63 base.WriteLine( message, category ) 64 End Sub 65 66 ' 条件をもとに文字列を出力 67 Static Sub WriteIf( condition As Boolean, value As Object ) 68 base.WriteIf( condition, value ) 69 End Sub 70 Static Sub WriteIf( condition As Boolean, message As String ) 71 base.WriteIf( condition, message ) 72 End Sub 73 Static Sub WriteIf( condition As Boolean, value As Object, category As String ) 74 base.WriteIf( condition, value, category ) 75 End Sub 76 Static Sub WriteIf( condition As Boolean, message As String, category As String ) 77 base.WriteIf( condition, message, category ) 78 End Sub 79 80 ' 条件をもとに一行の文字列を出力 81 Static Sub WriteLineIf( condition As Boolean, message As String ) 82 base.WriteLineIf( condition, message ) 83 End Sub 84 Static Sub WriteLineIf( condition As Boolean, value As Object ) 85 base.WriteLineIf( condition, value ) 86 End Sub 87 Static Sub WriteLineIf( condition As Boolean, value As Object, category As String ) 88 base.WriteLineIf( condition, value, category ) 89 End Sub 90 Static Sub WriteLineIf( condition As Boolean, message As String, category As String ) 91 base.WriteLineIf( condition, message, category ) 92 End Sub 93 94 95 '---------------------------------------------------------------- 96 ' パブリック プロパティ 97 '---------------------------------------------------------------- 98 99 ' IndentLevelプロパティ 100 Static Function IndentLevel() As Long 101 Return base.IndentLevel 102 End Function 103 Static Sub IndentLevel( indentLevel As Long ) 104 base.IndentLevel = indentLevel 105 End Sub 106 107 ' IndentSizeプロパティ 108 Static Function IndentSize() As Long 109 Return base.IndentSize 110 End Function 111 Static Sub IndentSize( size As Long ) 112 base.IndentSize = size 113 End Sub 114 115 ' Listenersプロパティ 116 Static Function Listeners() As TraceListenerCollection 117 Return base.Listeners 118 End Function 8 119 End Class 9 120 … … 11 122 12 123 Class Debug 124 Static base As _System_TraceBase() 125 13 126 Public 127 128 '---------------------------------------------------------------- 129 ' パブリック メソッド 130 '---------------------------------------------------------------- 131 132 ' アサート(コールスタックを表示) 133 Static Sub Assert( condition As Boolean ) 134 'base.Assert( condition ) 135 End Sub 136 137 ' アサート(メッセージ文字列を表示) 138 Static Sub Assert( condition As Boolean, message As String ) 139 'base.Assert( condition, message ) 140 End Sub 141 142 ' アサート(メッセージ文字列と詳細文字列を表示) 143 Static Sub Assert( condition As Boolean, message As String, detailMessage As String ) 144 'base.Assert( condition, message, detailMessage ) 145 End Sub 146 147 148 ' インデントレベルを上げる 149 Static Sub Indent() 150 base.Indent() 151 End Sub 152 153 ' インデントレベルを下げる 154 Static Sub Unindent() 155 base.Unindent() 156 End Sub 157 158 ' 文字列を出力 159 Static Sub Write( value As Object ) 160 'base.Write( value ) 161 End Sub 162 Static Sub Write( message As String ) 163 'base.Write( message ) 164 End Sub 165 Static Sub Write( value As Object, category As String ) 166 'base.Write( value, category ) 167 End Sub 168 Static Sub Write( message As String, category As String ) 169 'base.Write( message, category ) 170 End Sub 171 172 ' 一行の文字列を出力 173 Static Sub WriteLine( value As Object ) 174 'base.WriteLine( value ) 175 End Sub 14 176 Static Sub WriteLine( message As String ) 15 End Sub 177 'base.WriteLine( message ) 178 End Sub 179 Static Sub WriteLine( value As Object, category As String ) 180 'base.WriteLine( value, category ) 181 End Sub 182 Static Sub WriteLine( message As String, category As String ) 183 'base.WriteLine( message, category ) 184 End Sub 185 186 ' 条件をもとに文字列を出力 187 Static Sub WriteIf( condition As Boolean, value As Object ) 188 'base.WriteIf( condition, value ) 189 End Sub 190 Static Sub WriteIf( condition As Boolean, message As String ) 191 'base.WriteIf( condition, message ) 192 End Sub 193 Static Sub WriteIf( condition As Boolean, value As Object, category As String ) 194 'base.WriteIf( condition, value, category ) 195 End Sub 196 Static Sub WriteIf( condition As Boolean, message As String, category As String ) 197 'base.WriteIf( condition, message, category ) 198 End Sub 199 200 ' 条件をもとに一行の文字列を出力 201 Static Sub WriteLineIf( condition As Boolean, message As String ) 202 'base.WriteLineIf( condition, message ) 203 End Sub 204 Static Sub WriteLineIf( condition As Boolean, value As Object ) 205 'base.WriteLineIf( condition, value ) 206 End Sub 207 Static Sub WriteLineIf( condition As Boolean, value As Object, category As String ) 208 'base.WriteLineIf( condition, value, category ) 209 End Sub 210 Static Sub WriteLineIf( condition As Boolean, message As String, category As String ) 211 'base.WriteLineIf( condition, message, category ) 212 End Sub 213 214 215 '---------------------------------------------------------------- 216 ' パブリック プロパティ 217 '---------------------------------------------------------------- 218 219 ' IndentLevelプロパティ 220 Static Function IndentLevel() As Long 221 Return base.IndentLevel 222 End Function 223 Static Sub IndentLevel( indentLevel As Long ) 224 base.IndentLevel = indentLevel 225 End Sub 226 227 ' IndentSizeプロパティ 228 Static Function IndentSize() As Long 229 Return base.IndentSize 230 End Function 231 Static Sub IndentSize( size As Long ) 232 base.IndentSize = size 233 End Sub 234 235 ' Listenersプロパティ 236 Static Function Listeners() As TraceListenerCollection 237 Return base.Listeners 238 End Function 16 239 End Class 17 240 -
Include/Classes/System/Diagnostics/Trace.ab
r66 r69 1 1 2 2 Class Trace 3 Static indentLevel = 0 As Long 4 Static indentSize = 4 As Long 5 6 7 ' リスナ管理 8 Static Listeners As TraceListenerCollection 3 Static base As _System_TraceBase() 9 4 10 5 Public … … 16 11 ' アサート(コールスタックを表示) 17 12 Static Sub Assert( condition As Boolean ) 18 If condition == False then 19 'TODO: コールスタックを表示 20 End If 13 base.Assert( condition ) 21 14 End Sub 22 15 23 16 ' アサート(メッセージ文字列を表示) 24 17 Static Sub Assert( condition As Boolean, message As String ) 25 If condition == False then 26 ' TODO: メッセージボックス形式での表示に対応 27 WriteLine( message ) 28 End If 18 base.Assert( condition, message ) 29 19 End Sub 30 20 31 21 ' アサート(メッセージ文字列と詳細文字列を表示) 32 22 Static Sub Assert( condition As Boolean, message As String, detailMessage As String ) 33 If condition == False then 34 ' TODO: メッセージボックス形式での表示に対応 35 WriteLine( message ) 36 End If 23 base.Assert( condition, message, detailMessage ) 37 24 End Sub 38 25 … … 40 27 ' インデントレベルを上げる 41 28 Static Sub Indent() 42 IndentLevel = indentLevel + 129 base.Indent() 43 30 End Sub 44 31 45 32 ' インデントレベルを下げる 46 33 Static Sub Unindent() 47 If indentLevel <= 0 Then 48 indentLevel = 0 49 Return 50 End If 51 IndentLevel = indentLevel - 1 34 base.Unindent() 52 35 End Sub 53 36 37 ' 文字列を出力 38 Static Sub Write( value As Object ) 39 base.Write( value ) 40 End Sub 54 41 Static Sub Write( message As String ) 55 42 base.Write( message ) 43 End Sub 44 Static Sub Write( value As Object, category As String ) 45 base.Write( value, category ) 46 End Sub 47 Static Sub Write( message As String, category As String ) 48 base.Write( message, category ) 56 49 End Sub 57 50 58 51 ' 一行の文字列を出力 52 Static Sub WriteLine( value As Object ) 53 base.WriteLine( value ) 54 End Sub 59 55 Static Sub WriteLine( message As String ) 60 Dim i As Long 61 For i = 0 To ELM( Listeners.Count ) 62 Dim temp As TraceListener 63 temp = Listeners[i] 64 temp.WriteLine( message ) 65 Next 56 base.WriteLine( message ) 57 End Sub 58 Static Sub WriteLine( value As Object, category As String ) 59 base.WriteLine( value, category ) 60 End Sub 61 Static Sub WriteLine( message As String, category As String ) 62 base.WriteLine( message, category ) 63 End Sub 64 65 ' 条件をもとに文字列を出力 66 Static Sub WriteIf( condition As Boolean, value As Object ) 67 base.WriteIf( condition, value ) 68 End Sub 69 Static Sub WriteIf( condition As Boolean, message As String ) 70 base.WriteIf( condition, message ) 71 End Sub 72 Static Sub WriteIf( condition As Boolean, value As Object, category As String ) 73 base.WriteIf( condition, value, category ) 74 End Sub 75 Static Sub WriteIf( condition As Boolean, message As String, category As String ) 76 base.WriteIf( condition, message, category ) 77 End Sub 78 79 ' 条件をもとに一行の文字列を出力 80 Static Sub WriteLineIf( condition As Boolean, message As String ) 81 base.WriteLineIf( condition, message ) 82 End Sub 83 Static Sub WriteLineIf( condition As Boolean, value As Object ) 84 base.WriteLineIf( condition, value ) 85 End Sub 86 Static Sub WriteLineIf( condition As Boolean, value As Object, category As String ) 87 base.WriteLineIf( condition, value, category ) 88 End Sub 89 Static Sub WriteLineIf( condition As Boolean, message As String, category As String ) 90 base.WriteLineIf( condition, message, category ) 66 91 End Sub 67 92 … … 73 98 ' IndentLevelプロパティ 74 99 Static Function IndentLevel() As Long 75 Return indentLevel100 Return base.IndentLevel 76 101 End Function 77 102 Static Sub IndentLevel( indentLevel As Long ) 78 This.indentLevel = indentLevel 79 80 Dim i As Long 81 For i = 0 To ELM( Listeners.Count ) 82 Dim temp As TraceListener 83 temp = Listeners[i] 84 temp.IndentLevel = indentLevel 85 Next 103 base.IndentLevel = indentLevel 86 104 End Sub 87 105 88 106 ' IndentSizeプロパティ 89 107 Static Function IndentSize() As Long 90 Return indentSize108 Return base.IndentSize 91 109 End Function 92 110 Static Sub IndentSize( size As Long ) 93 indentSize = size 94 95 Dim i As Long 96 For i = 0 To ELM( Listeners.Count ) 97 Dim temp As TraceListener 98 temp = Listeners[i] 99 temp.IndentSize = indentSize 100 Next 111 base.IndentSize = size 101 112 End Sub 102 113 114 ' Listenersプロパティ 115 Static Function Listeners() As TraceListenerCollection 116 Return base.Listeners 117 End Function 118 103 119 End Class 104 105 Dim _System_defaultTraceListener As DefaultTraceListener106 Trace.Listeners.Add( _System_defaultTraceListener ) -
Include/Classes/System/Diagnostics/TraceListener.ab
r58 r69 41 41 '派生クラスで実装 (基底では何もしない) 42 42 End Sub 43 Virtual Sub Write( oAs Object )44 Write( o.ToString() )43 Virtual Sub Write( value As Object ) 44 Write( value.ToString() ) 45 45 End Sub 46 Virtual Sub Write( oAs Object, category As String )47 Write( category + ": " + o.ToString() )46 Virtual Sub Write( value As Object, category As String ) 47 Write( category + ": " + value.ToString() ) 48 48 End Sub 49 49 Virtual Sub Write( message As String, category As String ) … … 54 54 '派生クラスで実装 (基底では何もしない) 55 55 End Sub 56 Virtual Sub WriteLine( oAs Object )57 WriteLine( o.ToString() )56 Virtual Sub WriteLine( value As Object ) 57 WriteLine( value.ToString() ) 58 58 End Sub 59 Virtual Sub WriteLine( oAs Object, category As String )60 WriteLine( category + ": " + o.ToString() )59 Virtual Sub WriteLine( value As Object, category As String ) 60 WriteLine( category + ": " + value.ToString() ) 61 61 End Sub 62 62 Virtual Sub WriteLine( message As String, category As String ) -
Include/Classes/System/Diagnostics/index.ab
r66 r69 1 #require "base.ab" 2 1 3 #require "Debug.ab" 2 4 #require "Trace.ab"
Note:
See TracChangeset
for help on using the changeset viewer.