Код: Выделить всё
if (cfg_Following_Messages.Value != 0)
log.Debug($"About to broadcast [{message.GetType().Name}]");
new OwnMessageHandler.BroadcastClientMessage(message).Execute();
< /code>
, который создал список, где я мог бы следить за всеми сообщениями, отправляя сервером. В дополнение к этому, поскольку log.debug () файловый диспетчер.
Код: Выделить всё
public partial class Manager{
...
< /code>
Итак, даже изменяя команду журнала на: < /p>
log.Debug($"About to broadcast [{message.GetType().Name}] by [{this.GetType().Name}]");
< /code>
, я все еще получаю что -то вроде: < /p>
2023-10-27 13:43:33.6548 | .Manager | About to broadcast [SpecificTypeOfMessage] by [Manager]
< /code>
, что не очень полезно.2023-10-27 13:43:33.6548 | .Manager | About to broadcast [SpecificTypeOfMessage] by [Manager.Specific.cs]
< /code>
Но как это сделать? В этом другом стеке переполнение упоминается такие вещи, как информация о вызывающем абоненте и StackFrame - Решение StackFrame о получении всего стека вызовов, при каждом случае отправляемого сообщения. Хотя это работает правильно (is tested and yields a correct filename), it looks to me as a huge performance drop.
Код: Выделить всё
sf.GetFileName() - Caller Information CallerFilePath is wrong, as you can see here:
Код: Выделить всё
string filename = filePath.Substring(filePath.LastIndexOf("\\") + 1);
Код: Выделить всё
filePathрядом с тем фактом, что информация об абоненте неверна, я также предпочитаю не изменять подпись моих методов.
>
Подробнее здесь: https://stackoverflow.com/questions/773 ... in-c-sharp
Мобильная версия