msnLog.cs
1 using System;
2
3 namespace MS.StrongName.ManagedSN
4 {
5 /// <summary>
6 /// Handles all I/O with the user
7 /// </summary>
8 internal sealed class Log
9 {
10 private static bool quietMode = false;
11
12 /// <summary>
13 /// Should we log all events, or just errors
14 /// </summary>
15 public static bool QuietMode
16 {
17 get { return quietMode; }
18 set { quietMode = value; }
19 }
20
21 /// <summary>
22 /// Write a message to the log
23 /// </summary>
24 /// <exception cref="ArgumentNullException">
25 /// If <paramref name="message"/> is null
26 /// </exception>
27 /// <param name="message">message to write</param>
28 public static void Message(string message)
29 {
30 if(message == null)
31 throw new ArgumentNullException("message");
32
33 if(!QuietMode)
34 Console.WriteLine(message);
35
36 return;
37 }
38
39 /// <summary>
40 /// Write an error to the log
41 /// </summary>
42 /// <exception cref="ArgumentNullException">
43 /// If <paramref name="error"/> is null
44 /// </exception>
45 /// <param name="error">error to write</param>
46 public static void Error(string error)
47 {
48 if(error == null)
49 throw new ArgumentNullException("error");
50
51 Console.Error.WriteLine(error);
52 return;
53 }
54 }
55 }