|
Revision 16743, 1.8 kB
(checked in by nowelium, 4 months ago)
|
|
lang/io/Log4Io: パッケージに分けてみた
|
| Line | |
|---|
| 1 | Log4Io PatternLayout := Log4Io Layout clone do( |
|---|
| 2 | pattern ::= nil |
|---|
| 3 | Formatter := Object clone do( |
|---|
| 4 | loggingEvent ::= nil |
|---|
| 5 | format := method(source, |
|---|
| 6 | buf := Sequence clone asBuffer |
|---|
| 7 | regex := Regex with("%(-?[0-9]+)?(\.?[0-9]+)?([cdmnpr%])(\{([^\}]+)\})?|([^%]+)") |
|---|
| 8 | regex matchesIn(source) map(match, |
|---|
| 9 | holder := match string |
|---|
| 10 | value := if(hasSlot(holder), perform(holder), holder) |
|---|
| 11 | buf appendSeq(value) |
|---|
| 12 | ) |
|---|
| 13 | buf asString |
|---|
| 14 | ) |
|---|
| 15 | setSlot("%c", method( |
|---|
| 16 | loggingEvent categoryName |
|---|
| 17 | )) |
|---|
| 18 | setSlot("%d", method( |
|---|
| 19 | format := Log4Io SimpleDateFormat with(Log4Io PatternLayout ISO8601_DATEFORMAT) |
|---|
| 20 | format format(loggingEvent startTime) |
|---|
| 21 | )) |
|---|
| 22 | setSlot("%m", method( |
|---|
| 23 | loggingEvent message |
|---|
| 24 | )) |
|---|
| 25 | setSlot("%n", method( |
|---|
| 26 | "\n" |
|---|
| 27 | )) |
|---|
| 28 | setSlot("%p", method( |
|---|
| 29 | loggingEvent level asString |
|---|
| 30 | )) |
|---|
| 31 | setSlot("%r", method( |
|---|
| 32 | loggingEvent startTime asString |
|---|
| 33 | )) |
|---|
| 34 | setSlot("%%", method( |
|---|
| 35 | "%" |
|---|
| 36 | )) |
|---|
| 37 | ) |
|---|
| 38 | with := method(pattern, |
|---|
| 39 | c := self clone |
|---|
| 40 | if(pattern isNil not) then ( |
|---|
| 41 | c pattern = pattern |
|---|
| 42 | ) else ( |
|---|
| 43 | c pattern = Log4Io PatternLayout DEFAULT_CONVERSION_PATTERN |
|---|
| 44 | ) |
|---|
| 45 | c |
|---|
| 46 | ) |
|---|
| 47 | format := method(event, |
|---|
| 48 | formatter := Formatter clone |
|---|
| 49 | formatter setLoggingEvent(event) |
|---|
| 50 | formatter format(pattern) |
|---|
| 51 | ) |
|---|
| 52 | ) |
|---|
| 53 | |
|---|
| 54 | Log4Io PatternLayout do ( |
|---|
| 55 | TTCC_CONVERSION_PATTERN := "%r %p %c - %m%n" |
|---|
| 56 | DEFAULT_CONVERSION_PATTERN := "%m%n" |
|---|
| 57 | |
|---|
| 58 | ISO8601_DATEFORMAT := "yyyy-MM-dd HH:mm:ss,SSS" |
|---|
| 59 | DATETIME_DATEFORMAT := "dd MMM YYY HH:mm:ss,SSS" |
|---|
| 60 | ABSOLUTETIME_DATEFORMAT := "HH:mm:ss,SSS" |
|---|
| 61 | ) |
|---|
| 62 | |
|---|