• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Mobile logs

Você pode usar nossa API para enviar o log de seus aplicativos móveis para New Relic. Seu log estará em um local onde você poderá analisá-los.

Ativar registro móvel

Por padrão, nosso agente móvel não coleta log. Para ativar o registro móvel:

  1. Vá para one.newrelic.com > All capabilities.
  2. Clique em Mobile.
  3. Clique no seu aplicativo móvel.
  4. No painel esquerdo em Settings, clique em Application.
  5. Ative Mobile Logs .
  6. Clique em Save.

Configure seu registro

Para configurar a taxa de amostragem ou o nível de log:

  1. No New Relic, navegue até seu aplicativo móvel.
  2. No painel esquerdo em Settings, clique em Application.
  3. Para alterar a taxa de amostragem, selecione um novo valor no campo em Sample rate of total sessions.
  4. Para alterar o nível de log, selecione seu nível de log preferido no dropdown em Logs verbosity. O nível de log de depuração só deve ser usado se você quiser ver o log de depuração do agente.

Ver login New Relic

Para visualizar seu log na interface:

  1. Navegue até seu aplicativo móvel.
  2. No painel esquerdo, em Triage, clique em Logs.

Observe que pode haver alguns atrasos no logging móvel:

  • Levará até 15 minutos para que o log apareça na página de Logs .
  • Levará até 15 minutos para que as alterações na alternância de log, na taxa de amostragem e no nível de log sejam refletidas no seu aplicativo móvel.

Use API para capturar o log

A API abaixo fornece um conjunto abrangente de métodos de registro para capturar vários tipos de informações e eventos em seu aplicativo. Esses métodos permitem que você envie mensagens de log com diferentes níveis de gravidade (info, warning, debug, verbose, error), nível de log personalizado e contexto adicional, como throwables (exceções) e atributos.

Lembre-se de que ao usar a API de logging, você só deve usar o nível de log de depuração se quiser ver o log de depuração do agente.

Sintaxe

Java

NewRelic.logInfo(String message)
NewRelic.logWarning(String message)
NewRelic.logDebug(String message)
NewRelic.logVerbose(String message)
NewRelic.logError(String message)
NewRelic.log(LogLevel logLevel, String message)
NewRelic.logThrowable(LogLevel logLevel, String message, Throwable throwable)
NewRelic.logAttributes(Map<String, Object> attributes)
NewRelic.logAll(Throwable throwable, Map<String, Object> attributes)

Kotlin [#kotlin]

NewRelic.logInfo(String message)
NewRelic.logWarning(String message)
NewRelic.logDebug(String message)
NewRelic.logVerbose(String message)
NewRelic.logError(String message)
NewRelic.log(LogLevel logLevel, String message)
NewRelic.logThrowable(LogLevel logLevel, String message, Throwable throwable)
NewRelic.logAttributes(Map<String, Object> attributes)
NewRelic.logAll(Throwable throwable, Map<String, Object> attributes)

Exemplo [#example]

Java [#java]

// Log info
NewRelic.logInfo("This is an info message");
// Log warning
NewRelic.logWarning("This is a warning message");
// Log debug
NewRelic.logDebug("This is a debug message");
// Log verbose
NewRelic.logVerbose("This is a verbose message");
// Log error
NewRelic.logError("This is an error message");
// Log with specific log level
NewRelic.log(LogLevel.INFO, "This is a log message with INFO level");
// Log throwable with specific log level
try {
throw new Exception("This is a test exception");
} catch (Exception e) {
NewRelic.logThrowable(LogLevel.ERROR, "Exception occurred", e);
}
// Log attributes
Map<String, Object> attributes = new HashMap<>();
attributes.put("key1", "value1");
attributes.put("key2", 123);
NewRelic.logAttributes(attributes);
// Log all with throwable and attributes
try {
throw new Exception("This is another test exception");
} catch (Exception e) {
NewRelic.logAll(e, attributes);
}

Kotlin [#kotlin]

// Log info
NewRelic.logInfo("This is an info message")
// Log warning
NewRelic.logWarning("This is a warning message")
// Log debug
NewRelic.logDebug("This is a debug message")
// Log verbose
NewRelic.logVerbose("This is a verbose message")
// Log error
NewRelic.logError("This is an error message")
// Log with specific log level
NewRelic.log(LogLevel.INFO, "This is a log message with INFO level")
// Log throwable with specific log level
try {
throw Exception("This is a test exception")
} catch (e: Exception) {
NewRelic.logThrowable(LogLevel.ERROR, "Exception occurred", e)
}
// Log attributes
val attributes = mapOf("key1" to "value1", "key2" to 123)
NewRelic.logAttributes(attributes)

Sintaxe

Objetivo-c

(void) logInfo:(NSString* __nonnull) message;
(void) logError:(NSString* __nonnull) message;
(void) logVerbose:(NSString* __nonnull) message;
(void) logWarning:(NSString* __nonnull) message;
(void) logAudit:(NSString* __nonnull) message;
(void) logDebug:(NSString* __nonnull) message;
(void) log:(NSString* __nonnull) message level:(NRLogLevels)level;
(void) logAll:(NSDictionary* __nonnull) dict;
(void) logAttributes:(NSDictionary* __nonnull) dict;
(void) logErrorObject:(NSError* __nonnull) error;

Swift [#swift]

func logInfo(_ message: String)
func logError(_ message: String)
func logVerbose(_ message: String)
func logWarning(_ message: String)
func logAudit(_ message: String)
func logDebug(_ message: String)
func log(_ message: String, level: NRLogLevels)
func logAll(_ dict: [String: Any])
func logAttributes(_ dict: [String: Any])
func logErrorObject(_ error: NSError)

Exemplo [#example]

Objetivo-c [#objective-c]

[NewRelic logInfo:@"This is an info message"];
[NewRelic logError:@"This is an error message"];
[NewRelic logVerbose:@"This is a verbose message"];
[NewRelic logWarning:@"This is a warning message"];
[NewRelic logAudit:@"This is an audit message"];
[NewRelic logDebug:@"This is a debug message"];
[NewRelic log:@"This is a custom log level message" level:NRLogLevelsCustom];
NSDictionary *logDict = @{@"key1": @"value1", @"key2": @"value2"};
[NewRelic logAll:logDict];
NSDictionary *attributesDict = @{@"attribute1": @"value1", @"attribute2": @"value2"};
[NewRelic logAttributes:attributesDict];
NSError *error = [NSError errorWithDomain:@"com.example" code:100 userInfo:@{NSLocalizedDescriptionKey: @"This is an error description"}];
[NewRelic logErrorObject:error];

Swift [#swift]

NewRelic.logError("Encountered error=error=\(error.localizedDescription).")
NewRelic.logWarning("Warning text.")
NewRelic.logInfo("Info text.")
NewRelic.logVerbose("NewRelic.start was called.")
NewRelic.logDebug("Debug text.")
do {
try errorMethod()
} catch {
NewRelic.logErrorObject(error)
}
NewRelic.logAll([
"logLevel": "WARN",
"message": "This is a test message for the New Relic logging system."
])
NewRelic.logAttributes([
"logLevel": "WARN",
"message": "This is a test message for the New Relic logging system.",
"additionalAttribute1": "attribute1",
"additionalAttribute2": "attribute2"
])

Sintaxe

NewRelicCapacitorPlugin.logInfo(options: { message: string}) => void
NewRelicCapacitorPlugin.logVerbose(options: { message: string}) => void
NewRelicCapacitorPlugin.logError(options: { message: string}) => void
NewRelicCapacitorPlugin.logWarn(options: { message: string}) => void
NewRelicCapacitorPlugin.logDebug(options: { message: string}) => void
NewRelicCapacitorPlugin.logAll(options: { error: string; attributes: object; }): void
NewRelicCapacitorPlugin.logAttributes(options: { attributes: object; }): void

Exemplo [#example]

NewRelicCapacitorPlugin.logInfo({message: "User profile loaded successfully"});
NewRelicCapacitorPlugin.logVerbose({message:"Verbose logging example"});
NewRelicCapacitorPlugin.logError({message:"Error loading user profile"});
NewRelicCapacitorPlugin.logWarn({message: "Low disk space warning"});
NewRelicCapacitorPlugin.logDebug({message:"Debugging session started"});
NewRelicCapacitorPlugin.logAll({
error: "UnexpectedError",
attributes: { "errorCode": "500", "errorMessage": "Internal Server Error" ,level:"WARN"}
});
NewRelicCapacitorPlugin.logAttributes({attributes:{
"userID": 12345,
"sessionID": "abcde12345",
"isLoggedIn": true,
"message":"this is test",
"level":"INFO"
}});

Sintaxe

NewRelic.logInfo(message: string): void;
NewRelic.logDebug(message: string): void;
NewRelic.logVerbose(message: string): void;
NewRelic.logWarn(message: string): void;
NewRelic.logError(message: string): void;
NewRelic.log(level: string, message: string): void;
NewRelic.logAttributes(attributes: {[key: string]: boolean | number | string}): void;

Exemplo [#example]

NewRelic.logInfo("User logged in successfully");
NewRelic.logDebug("Debug message");
NewRelic.logVerbose("Verbose message detailing step-by-step execution");
NewRelic.logWarn("Warning message indicating a potential issue");
NewRelic.logError("Error message indicating a failure");
NewRelic.log("INFO", "User logged in successfully");
NewRelic.logAttributes({
"userID": 12345,
"sessionID": "abcde12345",
"isLoggedIn": true,
"message":"this is test",
"level":"INFO"
});

Sintaxe

CrossNewRelic.Current.LogInfo(String message) : void
CrossNewRelic.Current.LogError(String message) : void
CrossNewRelic.Current.LogVerbose(String message) : void
CrossNewRelic.Current.LogWarning(String message) : void
CrossNewRelic.Current.LogDebug(String message) : void
CrossNewRelic.Current.Log(LogLevel level, String message) : void
CrossNewRelic.Current.LogAttributes(Dictionary<string, object> attributes) : void

Exemplo [#example]

CrossNewRelic.Current.LogInfo("This is an informational message");
CrossNewRelic.Current.LogError("This is an error message");
CrossNewRelic.Current.LogVerbose("This is a verbose message");
CrossNewRelic.Current.LogWarning("This is a warning message");
CrossNewRelic.Current.LogDebug("This is a debug message");
CrossNewRelic.Current.Log(LogLevel.Info, "This is an informational message");
CrossNewRelic.Current.LogAttributes(new Dictionary<string, object>()
{
{ "level","info"},
{ "BreadNumValue", 12.3 },
{ "BreadStrValue", "MAUIBread" },
{ "BreadBoolValue", true },
{ "message", "This is a message with attributes" }
}
);

Sintaxe

NewrelicMobile.instance.logInfo(String message) : void
NewrelicMobile.instance.logError(String message) : void
NewrelicMobile.instance.logVerbose(String message) : void
NewrelicMobile.instance.logWarning(String message) : void
NewrelicMobile.instance.logDebug(String message) : void
NewrelicMobile.instance.log(LogLevel level, String message) : void
NewrelicMobile.instance.logAll(Exception exception,Map<String, dynamic>? attributes) : void
NewrelicMobile.instance.logAttributes(Dictionary<string, object> attributes) : void

Exemplo [#example]

NewrelicMobile.instance.logInfo("This is an informational message");
NewrelicMobile.instance.logError("This is an error message");
NewrelicMobile.instance.logVerbose("This is a verbose message");
NewrelicMobile.instance.logWarning("This is a warning message");
NewrelicMobile.instance.logDebug("This is a debug message");
NewrelicMobile.instance.log(LogLevel.Info, "This is an informational message");
NewrelicMobile.instance.logAll(Exception("This is an exception"), {
"BreadNumValue": 12.3,
"BreadStrValue": "FlutterBread",
"BreadBoolValue": true,
"message": "This is a message with attributes",
"level":"info"
});
NewrelicMobile.instance.logAttributes({
"BreadNumValue": 12.3,
"BreadStrValue": "FlutterBread",
"BreadBoolValue": true,
"message": "This is a message with attributes",
"level":"info"
});

Sintaxe

NewRelic.logInfo(String message) : void
NewRelic.logError(String message) : void
NewRelic.logVerbose(String message) : void
NewRelic.logWarning(String message) : void
NewRelic.logDebug(String message) : void
NewRelic.log(LogLevel level, String message) : void
NewRelic.logAll(Error error,attributes?: {[key: string]: any}) : void
NewRelic.logAttributes(attributes?: {[key: string]: any}) : void

Exemplo [#example]

NewRelic.logInfo();
NewRelic.logError("This is an error message");
NewRelic.logVerbose("This is a verbose message");
NewRelic.logWarning("This is a warning message");
NewRelic.logDebug("This is a debug message");
NewRelic.log(LogLevel.INFO, "This is an informational message");
Newrelic.logAll(new Error("This is an exception"), {
BreadNumValue: 12.3,
BreadStrValue: "FlutterBread",
BreadBoolValue: true,
message: "This is a message with attributes",
});
Newrelic.logAttributes({
BreadNumValue: 12.3,
BreadStrValue: "FlutterBread",
BreadBoolValue: true,
message: "This is a message with attributes",
level: newRelic.LogLevel.INFO,
});

Sintaxe

CrossNewRelicClient.Current.LogInfo(String message) : void
CrossNewRelicClient.Current.LogError(String message) : void
CrossNewRelicClient.Current.LogVerbose(String message) : void
CrossNewRelicClient.Current.LogWarning(String message) : void
CrossNewRelicClient.Current.LogDebug(String message) : void
CrossNewRelicClient.Current.Log(LogLevel level, String message) : void
CrossNewRelicClient.Current.LogAttributes(Dictionary<string, object> attributes) : void

Exemplo [#example]

CrossNewRelicClient.Current.LogInfo("This is an informational message");
CrossNewRelicClient.Current.LogError("This is an error message");
CrossNewRelicClient.Current.LogVerbose("This is a verbose message");
CrossNewRelicClient.Current.LogWarning("This is a warning message");
CrossNewRelicClient.Current.LogDebug("This is a debug message");
CrossNewRelicClient.Current.Log(LogLevel.Info, "This is an informational message");
CrossNewRelicClient.Current.LogAttributes(new Dictionary<string, object>()
{
{"level", "info"},
{ "BreadNumValue", 12.3 },
{ "BreadStrValue", "XamBread" },
{ "BreadBoolValue", true },
{ "message", "This is a message with attributes" }
}
);

Sintaxe

NewRelicAgent.LogInfo(String message) : void
NewRelicAgent.LogError(String message) : void
NewRelicAgent.LogVerbose(String message) : void
NewRelicAgent.LogWarning(String message) : void
NewRelicAgent.LogDebug(String message) : void
NewRelicAgent.Log(LogLevel level, String message) : void
NewRelicAgent.LogAttributes(Dictionary<string, object> attributes) : void

Exemplo [#example]

NewRelicAgent.LogInfo("This is an informational message");
NewRelicAgent.LogError("This is an error message");
NewRelicAgent.LogVerbose("This is a verbose message");
NewRelicAgent.LogWarning("This is a warning message");
NewRelicAgent.LogDebug("This is a debug message");
NewRelicAgent.Log(LogLevel.Info, "This is an informational message");
NewRelicAgent.LogAttributes(new Dictionary<string, object>()
{
{"level", "info"},
{"BreadNumValue", 12.3 },
{"BreadStrValue", "UnityBread" },
{"BreadBoolValue", true },
{"message", "This is a message with attributes" }
}
);

Sintaxe

UNewRelicBPLibrary::logInfo(FString message) : void
UNewRelicBPLibrary::logError(FString message) : void
UNewRelicBPLibrary::logVerbose(FString message) : void
UNewRelicBPLibrary::logWarning(FString message) : void
UNewRelicBPLibrary::logDebug(FString message) : void
UNewRelicBPLibrary::log(AgentLogLevel level, FString message) : void
UNewRelicBPLibrary::logAttributes(TMap <FString, FString> attributes) : void

Exemplo [#example]

#include "NewRelicBPLibrary.h"
UNewRelicBPLibrary::logInfo("This is an informational message");
UNewRelicBPLibrary::logError("This is an error message");
UNewRelicBPLibrary::logVerbose("This is a verbose message");
UNewRelicBPLibrary::logDebug("This is a debug message");
UNewRelicBPLibrary::logWarning("This is a warning message");
UNewRelicBPLibrary::log(AgentLogLevel::Debug, "This is a debug message");
TMap<FString, FString> attributes;
attributes.Add("place", TEXT("Robots"));
attributes.Add("user", TEXT("user1"));
attributes.Add("level", TEXT("DEBUG"));
attributes.Add("message", TEXT("This is a debug message"));
UNewRelicBPLibrary::logAttributes(attributes);
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.