Logger
class · пространство имён z3n7 · исходник Essentials/Logger.cs
public class Logger
Пишет сообщения в лог ZennoPoster. Поля заголовка включаются подстроками переменной проекта cfgLog: acc (аккаунт), time (возраст проекта), port (порт инстанса), caller (вызывающий член), wrap (вообще печатать заголовок), force (не применять фильтр по уровню).
Конструкторы
Logger
public Logger(IZennoPosterProjectModel project, Instance instance = null, LogLevel logLevel = LogLevel.Info, string classEmoji = null)
Создаёт логгер, привязанный к проекту ZennoPoster. Минимальный уровень берётся из переменной проекта logLevel, если она разбирается как LogLevel; иначе Debug, если debug равно True; иначе аргумент logLevel.
| Параметр | Описание |
|---|---|
instance |
Не используется; оставлен для совместимости. |
logLevel |
Минимальный уровень, если переменные проекта его не задают. |
classEmoji |
Значение Emoji. |
public Logger(LogLevel logLevel = LogLevel.Info, string classEmoji = null)
Создаёт логгер без проекта ZennoPoster. Писать ему некуда, поэтому все сообщения отбрасываются; thrw тоже не бросает исключение.
| Параметр | Описание |
|---|---|
logLevel |
Минимальный уровень. |
classEmoji |
Значение Emoji. |
Свойства
Emoji
public string Emoji { get; set; }
Префикс в скобках перед каждым сообщением, например маркер класса.
Методы
ClearCache
public static void ClearCache(IZennoPosterProjectModel project)
Ничего не делает. Оставлен для совместимости: логгер больше не кеширует экземпляры.
Debug
public void Debug(object msg, [CallerMemberName] string caller = "")
Пишет сообщение уровня Debug.
Error
public void Error(object msg, [CallerMemberName] string caller = "", bool thrw = false)
Пишет ошибку. Ошибки пишутся всегда, независимо от минимального уровня.
| Параметр | Описание |
|---|---|
thrw |
После записи бросить Exception с сообщением. |
Get
public static Logger Get(IZennoPosterProjectModel project, Instance instance = null)
Создаёт логгер для проекта с настройками по умолчанию.
Info
public void Info(object msg, [CallerMemberName] string caller = "")
Пишет сообщение уровня Info.
Send
public void Send(object toLog, [CallerMemberName] string caller = "", bool show = false, bool thrw = false, bool toZp = true, int cut = 0, LogLevel level = LogLevel.Info, LogType type = LogType.Info, LogColor color = LogColor.Default)
Пишет сообщение. Сообщения ниже минимального уровня отбрасываются, если только show не равно true или cfgLog не содержит force. Тип записи в логе ZennoPoster следует уровню; текст, содержащий !W или !E, пишется как предупреждение или ошибка.
| Параметр | Описание |
|---|---|
toLog |
Сообщение; используется ToString(), null пишется как «null». |
caller |
Подставляется компилятором: имя вызывающего члена. |
show |
Писать, даже если ниже минимального уровня. |
thrw |
После записи в лог ZennoPoster бросить Exception с сообщением. Только если у логгера есть проект и toZp равно true. |
toZp |
Писать в лог ZennoPoster. |
cut |
Если в сообщении больше переводов строк, чем это число, оно склеивается в одну строку. 0 — оставить как есть. |
level |
Важность, по которой фильтруются сообщения. |
type |
Тип записи в логе ZennoPoster; переопределяется level Warning/Error и маркерами !W/!E. |
color |
Цвет записи в логе ZennoPoster. |
Warn
public void Warn(object msg, [CallerMemberName] string caller = "", bool show = false, bool thrw = false)
Пишет предупреждение.
| Параметр | Описание |
|---|---|
show |
Писать, даже если ниже минимального уровня. |
thrw |
После записи бросить Exception с сообщением. |
WithInstance
public Logger WithInstance(Instance instance)
Возвращает копию этого логгера. Оставлен для совместимости: экземпляр не используется.