public async Task Log(LogLevel logLevel, LogTag tag, string message) { var request = new RestRequest(Method.POST); switch (logLevel) { case LogLevel.Information: break; case LogLevel.Warning: break; case LogLevel.Error: break; default: throw new ArgumentOutOfRangeException( nameof(logLevel), logLevel, $"Remote logger supports only {LogLevel.Information}, {LogLevel.Warning} and {LogLevel.Error} log levels" ); } var body = new JSONObject(); body.Add("level", logLevel.ToString()); body.Add("message", message); if (tag != null) { body.Add("tags", tag.toJSON()); } request.AddJsonBody(body.ToString()); var response = await logClient.ExecuteAsync(request); if (response.ErrorException != null) { throw response.ErrorException; } }
public async Task LogWarning(LogTag tag, string message) { await Log(LogLevel.Warning, tag, message); }
public async Task LogError(LogTag tag, string message) { await Log(LogLevel.Error, tag, message); }
public async Task LogInformation(LogTag tag, string message) { await Log(LogLevel.Information, tag, message); }