Добрый день! Пытаюсь разобраться с логированием. А точнее как сделать что бы в окне MonitorWindow выводились дочерние объекты ILogSource? Что бы можно было просматривать их логи отдельно.
В конструкторе главного окна делаю следующее:
public MainWindow()
{
InitializeComponent();
LogLevel = LogLevels.Verbose;
LogManager = new LogManager();
LogManager.Sources.Add(this);
TestLogSourceWindow = new TestLogSourceWindow();
TestLogSourceWindow.Parent = this;
TestLogSourceWindow.LogLevel = LogLevel;
LogManager.Sources.Add(TestLogSourceWindow);
MonitorWindow = new MonitorWindow();
LogManager.Listeners.Add(MonitorWindow);
}
В дочернем окне TestLogSourceWindow вызываю событие Log:
Log?.Invoke(new LogMessage(this, CurrentTime, LogLevels.Info, "Сообщение дочернего окна"));
Но на событие нет подписки. Разве при добавлении ILogSource в LogManager он не подписывается на событие Log? Свойство ILogSource.Parent устанавливает родителя дочернему объекту? Помогите реализовать такую задачу. Примеров по логированию нет.
评论 (7)
登录 或 创建账户, 登录或注册以发表评论
Добрый день.
Пример легирование https://github.com/StockSharp/StockSharp/tree/master/Samples/Common/SampleLogging
Пришлите ваш код для анализа.
Код главного окна
Код дочернего окна:
Во вложении проект
Добрый день
Вам необходимо добавлять графические слушатели через специальных класс:
И для каждого источника установить имя.
Здравствуйте. Лог выводится. Еще нужно что бы в правой области выводились ссылки на источники логов как на скриншоте выше. И как их можно сделать вложенными? Код на GitHub
Добрый день
Лог выводит только те колонки которые можно выбрать в таблице.
Здравствуйте. Прошу прощения, я не правильно выразился. Не в правой области, а в левой области нужно вывести ссылки на источники логов. И как их можно сделать вложенными?
Для этого нужно указать название у источника.