Я просто хочу войти в консоль и в файл журнала, используя стандартный TraceSource, в моем приложении Xamarin, которое будет работать на UWP, Mac OS X, iOS и Android. Я занимаюсь разработкой / отладкой на UWP.
TraceSource, TraceListener и TextWriterTraceListener действительно все доступны в стандартной библиотеке .Net, так что, возможно, я неправильно их настраиваю? Большинство мест в Интернете настаивают на настройке прослушивателей трассировки в файле app.config, но это не применимо и невозможно для приложений Xamarin. Итак, вот мой код инициализации регистрации, в основном основанный на примере из документации Microsoft:
private void SetupLogging()
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out, "consoleTraceListener"));
string logFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "Application.log");
if (!File.Exists(logFilePath)) File.Create(logFilePath);
var logFileTraceListener = new TextWriterTraceListener(logFilePath, "logFileTraceListener");
Trace.Listeners.Add(logFileTraceListener);
Trace.Write("Test");
Trace.TraceInformation("Logging Initialized. Log file location: " + logFilePath);
Trace.Flush();
}
Когда я запускаю это в приложении Xamarin UWP, файл создается, но в него ничего не записывается, и я ничего не могу найти в выводе программы (нет ConsoleTraceListener
, поэтому я пытаюсь написать TextWriterTraceListener
до Console.Out
). Может кто-нибудь привести рабочий пример для Xamarin? (Я еще не пробовал приложения для Android или iOS; сначала хочу, чтобы UWP работал на локальном компьютере.)