private void FtpClientOnLogEvent(FtpTraceLevel level, string message) { if (string.IsNullOrWhiteSpace(message)) { return; } int indexOf = message.IndexOf("at System.Net.Sockets.Socket", StringComparison.Ordinal); if (indexOf >= 0) { message = message.Substring(0, indexOf).Trim(); } const string messageTemplate = "{FtpMessage}"; switch (level) { case FtpTraceLevel.Info: _logger?.Debug(messageTemplate, message); break; case FtpTraceLevel.Error: _logger?.Warning(messageTemplate, message); break; case FtpTraceLevel.Verbose: _logger?.Debug(messageTemplate, message); break; case FtpTraceLevel.Warn: _logger?.Warning(messageTemplate, message); break; } }
/// <summary> /// Write to the TraceListeners /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">A formattable string to write</param> public static void Write(FtpTraceLevel eventType, string message) { #if CORE #if DEBUG Debug.WriteLine(message); #else Console.WriteLine(message); #endif #elif !CORE var diagTraceLvl = TraceLevelTranslation(eventType); if (m_prefix) { // if prefix is wanted then use TraceEvent() m_traceSource.TraceEvent(TraceLevelTranslation(eventType), 0, message); } else { // if prefix is NOT wanted then write manually EmitEvent(m_traceSource, TraceLevelTranslation(eventType), message); } if (m_flushOnWrite) { m_traceSource.Flush(); } #endif }
private void OnLogEvent(FtpTraceLevel ftpTraceLevel, string logMessage) { if (DebugLogs) { switch (ftpTraceLevel) { case FtpTraceLevel.Error: Task.Error(logMessage); break; case FtpTraceLevel.Verbose: Task.Info(logMessage); break; case FtpTraceLevel.Warn: Task.Info(logMessage); break; case FtpTraceLevel.Info: default: Task.Info(logMessage); break; } } }
private void Client_Log(FtpTraceLevel arg1, string arg2) { if (arg1 != FtpTraceLevel.Verbose) { _log.AppendLine($"{DateTime.Now}\t{arg2}"); RaisePropertyChanged(nameof(Log)); } }
/// <summary> /// Log a message /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">The message to write</param> public void LogLine(FtpTraceLevel eventType, string message) { // log to attached logger if given if (OnLogEvent != null) { OnLogEvent(eventType, message); } // log to system FtpTrace.WriteLine(eventType, message); }
/// <summary> /// Log a message, adding an automatic prefix to the message based on the `eventType` /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">The message to write</param> public void LogStatus(FtpTraceLevel eventType, string message) { // add prefix message = TraceLevelPrefix(eventType) + message; // log to attached logger if given if (OnLogEvent != null) { OnLogEvent(eventType, message); } // log to system FtpTrace.WriteLine(eventType, message); }
private static string TraceLevelPrefix(FtpTraceLevel level) { switch (level) { case FtpTraceLevel.Verbose: return "Status: "; case FtpTraceLevel.Info: return "Status: "; case FtpTraceLevel.Warn: return "Warning: "; case FtpTraceLevel.Error: return "Error: "; } return "Status: "; }
private static TraceEventType TraceLevelTranslation(FtpTraceLevel level) { switch (level) { case FtpTraceLevel.Verbose: return(TraceEventType.Verbose); case FtpTraceLevel.Info: return(TraceEventType.Information); case FtpTraceLevel.Warn: return(TraceEventType.Warning); case FtpTraceLevel.Error: return(TraceEventType.Error); default: return(TraceEventType.Verbose); } }
/// <summary> /// Write to the TraceListeners /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">A formattable string to write</param> public static void Write(FtpTraceLevel eventType, string message) { if (!EnableTracing) { return; } #if CORE #if DEBUG Debug.WriteLine(message); #else if (m_LogToConsole) { Console.WriteLine(message); } if (m_LogToFile != null) { File.AppendAllText(m_LogToFile, message + "\n"); } #endif #elif !CORE if (m_prefix) { // if prefix is wanted then use TraceEvent() m_traceSource.TraceEvent(TraceLevelTranslation(eventType), 0, message); } else { // if prefix is NOT wanted then write manually EmitEvent(m_traceSource, TraceLevelTranslation(eventType), message); } if (m_flushOnWrite) { m_traceSource.Flush(); } #endif }
/// <summary> /// Write to the TraceListeners, adding an automatic prefix to the message based on the `eventType` /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">The message to write</param> public static void WriteStatus(FtpTraceLevel eventType, object message) { Write(eventType, TraceLevelPrefix(eventType) + message.ToString()); }
/// <summary> /// Write to the TraceListeners /// </summary> /// <param name="eventType">The type of tracing event</param> /// <param name="message">The message to write</param> public static void WriteLine(FtpTraceLevel eventType, object message) { Write(eventType, message.ToString()); }
private void LogMessage(FtpTraceLevel arg1, string arg2) { Log?.Invoke(arg1, arg2); }