Skip to content

Commit 705706d

Browse files
lvan100lianghuan
authored andcommitted
add new logger implementations
1 parent 1c6a752 commit 705706d

36 files changed

+2772
-961
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,4 @@ go.work.sum
3131
.idea/
3232
.vscode/
3333

34-
log.txt
35-
access.log
34+
logs/log.txt

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ appender.file.layout.type=JSONLayout
122122
appender.console.type=Console
123123
appender.console.layout.type=TextLayout
124124

125-
rootLogger.type=Root
126-
rootLogger.level=warn
127-
rootLogger.appenderRef.ref=console
125+
logger.root.type=Logger
126+
logger.root.level=warn
127+
logger.root.appenderRef.ref=console
128128

129129
logger.myLogger.type=AsyncLogger
130130
logger.myLogger.level=trace

README_CN.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ appender.file.layout.type=JSONLayout
114114
appender.console.type=Console
115115
appender.console.layout.type=TextLayout
116116

117-
rootLogger.type=Root
118-
rootLogger.level=warn
119-
rootLogger.appenderRef.ref=console
117+
logger.root.type=Logger
118+
logger.root.level=warn
119+
logger.root.appenderRef.ref=console
120120

121121
logger.myLogger.type=AsyncLogger
122122
logger.myLogger.level=trace

benchmarks/logs/gslog_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ func fakeGSAppenders() {
2828
appender.discard.type=Discard
2929
appender.discard.layout.type=JSONLayout
3030
31-
rootLogger.type=Root
32-
rootLogger.level=warn
33-
rootLogger.appenderRef.ref=discard
31+
logger.root.type=Logger
32+
logger.root.level=warn
33+
logger.root.appenderRef.ref=discard
3434
`), ".properties")
3535
if err != nil {
3636
panic(err)

expr/Expr.g4

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
grammar Expr;
2+
3+
// ----------------------------------
4+
// Lexer Rules
5+
// ----------------------------------
6+
7+
// Identifier for type names, field names, or symbolic constants
8+
// Examples: MyType, field_name, CONSTANT
9+
IDENT : [a-zA-Z_][a-zA-Z0-9_]* ;
10+
11+
// String literal: double-quoted string with optional escape sequences
12+
// Examples: "hello", "line\nbreak"
13+
STRING
14+
: '"' ( ~["\\] | '\\' ["\\/bfnrt] )* '"'
15+
;
16+
17+
// Integer literal: optional sign, decimal or hexadecimal
18+
// Examples: 42, -17, +0xFF
19+
INTEGER
20+
: ('+' | '-')? DIGIT+ | '0x' HEX_DIGIT+
21+
;
22+
23+
// Floating-point number: optional sign, decimal with optional fraction and exponent
24+
// Examples: 3.14, -0.5, +2E10, .25e-2
25+
FLOAT
26+
: ('+' | '-')? ( DIGIT+ ('.' DIGIT+)? | '.' DIGIT+ ) (('E' | 'e') ('+'|'-')? DIGIT+ )?
27+
;
28+
29+
// Fragments
30+
fragment DIGIT : '0'..'9';
31+
fragment LETTER : 'A'..'Z' | 'a'..'z';
32+
fragment HEX_DIGIT : DIGIT | 'A'..'F' | 'a'..'f';
33+
34+
// Whitespace (spaces, tabs, newlines) are skipped
35+
WS : [ \t\r\n]+ -> skip ;
36+
37+
// ----------------------------------
38+
// Parser Rules
39+
// ----------------------------------
40+
41+
// Root node: entry point of the parser
42+
// Ensures that the entire input is a single expression
43+
root: expr EOF ;
44+
45+
// Main expression: a type name with optional key-value pairs enclosed in braces
46+
// Example: TypeName { field1 = "value1", field2 = NestedType { ... }, field3 = rawValue }
47+
expr
48+
: IDENT '{' innerExprList? '}'
49+
;
50+
51+
// List of key-value assignments inside an expression
52+
// Commas between entries are optional; trailing comma is allowed
53+
// Example: field1 = 1, field2 = 2,
54+
innerExprList
55+
: innerExpr (',' innerExpr)* ','?
56+
;
57+
58+
// Key-value assignment: field is assigned a value
59+
// Example: foo = "bar"
60+
innerExpr
61+
: fieldAccess '=' value
62+
;
63+
64+
// Field access supports:
65+
// - Simple fields: foo
66+
// - Nested fields: foo.bar
67+
// - Array indices: foo[0]
68+
// - Combined: foo.bar[1].baz
69+
fieldAccess
70+
: IDENT ('.' IDENT | '[' INTEGER ']')*
71+
;
72+
73+
// Value can be:
74+
// - A string literal
75+
// - An identifier (e.g., a symbolic constant or raw value)
76+
// - An integer or floating-point number
77+
// - A nested expression (type with braces)
78+
// Examples: "hello", true, 42, 3.14, NestedType { ... }
79+
value
80+
: IDENT | STRING | INTEGER | FLOAT | expr ;

expr/expr_base_listener.go

Lines changed: 57 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

expr/expr_lexer.go

Lines changed: 173 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)