Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace LoggingTest
- {
- public interface ILog
- {
- void Log(string message);
- }
- public class ConsoleLogger : ILog
- {
- public void Log(string message)
- {
- Console.WriteLine(message);
- }
- }
- public class SaverToFileLogger : ILog
- {
- public void Log(string message)
- {
- using (StreamWriter sw = new StreamWriter("D:\\loggerFile.txt",true))
- {
- sw.WriteLine(message);
- sw.Close();
- }
- }
- }
- public class SomeComplexClass
- {
- private ILog logger;
- public SomeComplexClass(ILog logger)
- {
- this.logger = logger;
- }
- public void SomeComplexFunction()
- {
- // представляем что в этой функции много кода и время от времени мы хотим логировать то, что сейчас происходит.
- logger.Log("Начало метода - время : " + DateTime.Now.TimeOfDay.ToString());
- logger.Log("вычислили значение");
- logger.Log("Конец метода - время : " + DateTime.Now.TimeOfDay.ToString());
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- //SomeComplexClass myObj = new SomeComplexClass(new ConsoleLogger());
- //myObj.SomeComplexFunction();
- SomeComplexClass myObj2 = new SomeComplexClass(new SaverToFileLogger());
- myObj2.SomeComplexFunction();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement