0
|
1 using System;
|
|
2
|
|
3 using BLToolkit.TypeBuilder.Builders;
|
|
4
|
|
5 namespace BLToolkit.Aspects
|
|
6 {
|
|
7 /// <summary>
|
|
8 /// http://www.bltoolkit.net/Doc/Aspects/index.htm
|
|
9 /// </summary>
|
|
10 [AttributeUsage(
|
|
11 AttributeTargets.Class |
|
|
12 AttributeTargets.Interface |
|
|
13 AttributeTargets.Property |
|
|
14 AttributeTargets.Method,
|
|
15 AllowMultiple=true)]
|
|
16 public class LogAttribute : InterceptorAttribute
|
|
17 {
|
|
18 public LogAttribute()
|
|
19 : this(typeof(LoggingAspect), null)
|
|
20 {
|
|
21 }
|
|
22
|
|
23 public LogAttribute(string parameters)
|
|
24 : this(typeof(LoggingAspect), parameters)
|
|
25 {
|
|
26 }
|
|
27
|
|
28 protected LogAttribute(Type interceptorType, string parameters)
|
|
29 : base(
|
|
30 interceptorType,
|
|
31 InterceptType.OnCatch | InterceptType.OnFinally,
|
|
32 parameters,
|
|
33 TypeBuilderConsts.Priority.LoggingAspect)
|
|
34 {
|
|
35 }
|
|
36
|
|
37 private bool _hasFileName;
|
|
38 private string _fileName;
|
|
39 public string FileName
|
|
40 {
|
|
41 get { return _fileName; }
|
|
42 set { _fileName = value; _hasFileName = true; }
|
|
43 }
|
|
44
|
|
45 private bool _hasMinCallTime;
|
|
46 private int _minCallTime;
|
|
47 public int MinCallTime
|
|
48 {
|
|
49 get { return _minCallTime; }
|
|
50 set { _minCallTime = value; _hasMinCallTime = true; }
|
|
51 }
|
|
52
|
|
53 private bool _hasLogExceptions;
|
|
54 private bool _logExceptions;
|
|
55 public bool LogExceptions
|
|
56 {
|
|
57 get { return _logExceptions; }
|
|
58 set { _logExceptions = value; _hasLogExceptions = true;}
|
|
59 }
|
|
60
|
|
61 private bool _hasLogParameters;
|
|
62 private bool _logParameters;
|
|
63 public bool LogParameters
|
|
64 {
|
|
65 get { return _logParameters; }
|
|
66 set { _logParameters = value; _hasLogParameters = true;}
|
|
67 }
|
|
68
|
|
69 public override string ConfigString
|
|
70 {
|
|
71 get
|
|
72 {
|
|
73 string s = base.ConfigString;
|
|
74
|
|
75 if (_hasFileName) s += ";FileName=" + FileName;
|
|
76 if (_hasMinCallTime) s += ";MinCallTime=" + MinCallTime;
|
|
77 if (_hasLogExceptions) s += ";LogExceptions=" + LogExceptions;
|
|
78 if (_hasLogParameters) s += ";LogParameters=" + LogParameters;
|
|
79
|
|
80 if (!string.IsNullOrEmpty(s) && s[0] == ';')
|
|
81 s = s.Substring(1);
|
|
82
|
|
83 return s;
|
|
84 }
|
|
85 }
|
|
86 }
|
|
87 }
|