File tree Expand file tree Collapse file tree 2 files changed +21
-11
lines changed
src/dotnetCampus.Logger/Writers/Helpers
tests/dotnetCampus.Logger.Tests Expand file tree Collapse file tree 2 files changed +21
-11
lines changed Original file line number Diff line number Diff line change @@ -75,19 +75,16 @@ internal bool IsTagEnabled(string text)
75
75
}
76
76
// 如果有任一标签,则匹配一个即可。
77
77
任一满足 = 任一满足 || AnyFilterTags . Contains ( tag ) ;
78
- if ( 任一满足 )
78
+ // 如果有包含标签,则匹配一个,直到全部匹配。
79
+ if ( ! 包含满足 && IncludingFilterTags . Count > 0 )
79
80
{
80
- // 如果有包含标签,则匹配一个,直到全部匹配。
81
- if ( ! 包含满足 && IncludingFilterTags . Count > 0 )
81
+ if ( includingTags . Contains ( tag ) )
82
82
{
83
- if ( includingTags . Contains ( tag ) )
84
- {
85
- includingTags . Remove ( tag ) ;
86
- }
87
- if ( includingTags . Count is 0 )
88
- {
89
- 包含满足 = true ;
90
- }
83
+ includingTags . Remove ( tag ) ;
84
+ }
85
+ if ( includingTags . Count is 0 )
86
+ {
87
+ 包含满足 = true ;
91
88
}
92
89
}
93
90
}
Original file line number Diff line number Diff line change @@ -97,6 +97,19 @@ public void 单个任一和包含标签且标签顺序不影响()
97
97
Assert . IsFalse ( filter . IsTagEnabled ( "[xxxx] Message" ) ) ;
98
98
}
99
99
100
+ [ TestMethod ( "单个任一和包含标签,只要有一个标签匹配即允许。且标签顺序不影响2。" ) ]
101
+ public void 单个任一和包含标签且标签顺序不影响2 ( )
102
+ {
103
+ var filter = CreateFilter ( "+Foo,Bar" ) ;
104
+ Assert . IsFalse ( filter . IsTagEnabled ( "[Foo] Message" ) ) ;
105
+ Assert . IsFalse ( filter . IsTagEnabled ( "[Bar] Message" ) ) ;
106
+ Assert . IsTrue ( filter . IsTagEnabled ( "[Foo][Bar] Message" ) ) ;
107
+ Assert . IsFalse ( filter . IsTagEnabled ( "[xxxx][Foo] Message" ) ) ;
108
+ Assert . IsFalse ( filter . IsTagEnabled ( "[xxxx][Bar] Message" ) ) ;
109
+ Assert . IsTrue ( filter . IsTagEnabled ( "[xxxx][Foo][Bar] Message" ) ) ;
110
+ Assert . IsFalse ( filter . IsTagEnabled ( "[xxxx] Message" ) ) ;
111
+ }
112
+
100
113
[ TestMethod ( "单个任一和排除标签,只要有一个标签匹配即不允许。" ) ]
101
114
public void 单个任一和排除标签 ( )
102
115
{
You can’t perform that action at this time.
0 commit comments