Ищем способ войти выразительные сообщения, когда я ловлю исключение с NLog 2.0.1, что-то вродеNLog аргументов для errorException сообщения
try {
....
}
catch(Exception ex) {
logger.ErrorException("Error with query {0}", query, ex);
}
Но NLog не поддерживает его. Другие формы, которые случились со мной являются
logger.ErrorException( String.Format("Error with query {0}", query)) , ex);
или
logger.Error("Error with query {0} {1} {2}", query, ex.Message, ex.StackTrace);
или
logger.Error("Error with query {0}", query);
logger.ErrorException("", ex);
или
LogEventInfo ei = new LogEventInfo(LogLevel.Error, logger.Name, null,
"Error with query {0}", new object[] { query }, ex);
logger.Log(ei);
Но никто не кажется таким простым, как вызов logger.Error()
На данный момент, первый вариант моего favority несмотря на формат строка, которая, возможно, не будет использоваться:
- второго варианта не использовать параметры макета для exceptions.
- третий создает две записи в журнале и может быть запутан.
- четвертый вариант гораздо менее ясен.
Есть еще несколько?
'String.Format (" Ошибка с запросом% s ", query)' Это C#? –
ups .. я сделал с помощью java. Отредактировано – Narkha
Почему бы просто не написать метод расширения? –