ProjectArcade

Форк
0
71 строка · 2.4 Кб
1
using System;
2

3
namespace DokanNet.Logging
4
{
5
    /// <summary>
6
    /// Handle log messages with callbacks
7
    /// </summary>
8
    public class Logger : ILogger
9
    {
10
        private readonly Action<string, object[]> _debug;
11
        private readonly Action<string, object[]> _info;
12
        private readonly Action<string, object[]> _warn;
13
        private readonly Action<string, object[]> _error;
14
        private readonly Action<string, object[]> _fatal;
15

16
        /// <summary>
17
        /// Initializes a new instance of the <see cref="Logger"/> class.
18
        /// </summary>
19
        /// <param name="debug">An <see cref="Action{T}"/> that are called when a debug log message are arriving.</param>
20
        /// <param name="info">An <see cref="Action{T}"/> that are called when a information log message are arriving</param>
21
        /// <param name="warn">An <see cref="Action{T}"/> that are called when a warning log message are arriving</param>
22
        /// <param name="error">An <see cref="Action{T}"/> that are called when a error log message are arriving</param>
23
        /// <param name="fatal">An <see cref="Action{T}"/> that are called when a fatal error log message are arriving</param>
24
        public Logger(
25
            Action<string, object[]> debug,
26
            Action<string, object[]> info,
27
            Action<string, object[]> warn,
28
            Action<string, object[]> error,
29
            Action<string, object[]> fatal)
30
        {
31
            _debug = debug;
32
            _info = info;
33
            _warn = warn;
34
            _error = error;
35
            _fatal = fatal;
36
        }
37

38
        /// <inheritdoc />
39
        public bool DebugEnabled { get { return _debug != null; } }
40

41
        /// <inheritdoc />
42
        public void Debug(string message, params object[] args)
43
        {
44
            _debug(message, args);
45
        }
46

47
        /// <inheritdoc />
48
        public void Info(string message, params object[] args)
49
        {
50
            _info(message, args);
51
        }
52

53
        /// <inheritdoc />
54
        public void Warn(string message, params object[] args)
55
        {
56
            _warn(message, args);
57
        }
58

59
        /// <inheritdoc />
60
        public void Error(string message, params object[] args)
61
        {
62
            _error(message, args);
63
        }
64

65
        /// <inheritdoc />
66
        public void Fatal(string message, params object[] args)
67
        {
68
            _fatal(message, args);
69
        }
70
    }
71
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.