Добрый день! Пытаюсь разобраться с логированием. А точнее как сделать что бы в окне 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
Добрый день
Лог выводит только те колонки которые можно выбрать в таблице.
Здравствуйте. Прошу прощения, я не правильно выразился. Не в правой области, а в левой области нужно вывести ссылки на источники логов. И как их можно сделать вложенными?
Для этого нужно указать название у источника.