annotate HowTo/Aspects/LoggingAspect.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Threading;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Aspects;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 using BLToolkit.Reflection;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 namespace HowTo.Aspects
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public class LoggingAspectTest
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 [/*[a]*/Log/*[/a]*/]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public /*[a]*/abstract/*[/a]*/ class TestClass
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 // Here we customize the logging settings.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 // This call will be logged in spite of default settings.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 [/*[a]*/Log/*[/a]*/(/*[a]*/MinCallTime=50/*[/a]*/)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 public /*[a]*/virtual/*[/a]*/ void Test1(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 Thread.Sleep(/*[a]*/100/*[/a]*/);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 // This call is not going to be logged (see default settings below).
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 public /*[a]*/virtual/*[/a]*/ void Test2(DateTime dt)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 Thread.Sleep(/*[a]*/100/*[/a]*/);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 // By default exception calls are logged.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 public /*[a]*/virtual/*[/a]*/ void Test3(string s)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 throw new ApplicationException("Test exception.");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 // By setting MinCallTime to some value, we prevent logging any call
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 // which is shorter than the provided value.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 LoggingAspect.MinCallTime = /*[a]*/1000/*[/a]*/;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 TestClass t = /*[a]*/TypeAccessor/*[/a]*/<TestClass>.CreateInstance();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 t.Test1(1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 t.Test2(DateTime.Now);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 try
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 t.Test3("3");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 catch
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 }