From 14f49ac92ee5f4d274bcec7d2e9c45d3fde1c50d Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Wed, 22 May 2024 16:41:29 -0500 Subject: [PATCH 01/35] First pass --- .../logger/customize-logger-initialize.rst | 2 + .../cpp/logger/customize-logger-set.rst | 3 + .../csharp/logger/customize-logger-set.rst | 2 + .../logger/customize-logger-initialize.rst | 12 + .../dart/logger/customize-logger-set.rst | 6 + .../java/logger/customize-logger-set.rst | 2 + .../logger/customize-logger-set.rst | 6 + .../logger/customize-logger-initialize.rst | 5 + .../kotlin/logger/customize-logger-set.rst | 4 + .../logger/customize-logger-initialize.rst | 3 + .../swift/logger/customize-logger-set.rst | 2 + .../logger/customize-logger-set.rst | 57 +++++ source/sdk/test-and-debug/log.txt | 226 +++++++++++++++++- 13 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 source/includes/api-details/cpp/logger/customize-logger-initialize.rst create mode 100644 source/includes/api-details/cpp/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/csharp/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/dart/logger/customize-logger-initialize.rst create mode 100644 source/includes/api-details/dart/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/java/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/javascript/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/kotlin/logger/customize-logger-initialize.rst create mode 100644 source/includes/api-details/kotlin/logger/customize-logger-set.rst create mode 100644 source/includes/api-details/swift/logger/customize-logger-initialize.rst create mode 100644 source/includes/api-details/swift/logger/customize-logger-set.rst create mode 100644 source/includes/sdk-examples/logger/customize-logger-set.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger-initialize.rst b/source/includes/api-details/cpp/logger/customize-logger-initialize.rst new file mode 100644 index 0000000000..f9876d53c6 --- /dev/null +++ b/source/includes/api-details/cpp/logger/customize-logger-initialize.rst @@ -0,0 +1,2 @@ +Then, initialize an instance of the logger and set it as the default logger +for your realm: \ No newline at end of file diff --git a/source/includes/api-details/cpp/logger/customize-logger-set.rst b/source/includes/api-details/cpp/logger/customize-logger-set.rst new file mode 100644 index 0000000000..b04bd5f333 --- /dev/null +++ b/source/includes/api-details/cpp/logger/customize-logger-set.rst @@ -0,0 +1,3 @@ +To set a custom logger function, create a +:cpp-sdk:`realm::logger ` +and override the virtual ``do_log()`` member function: diff --git a/source/includes/api-details/csharp/logger/customize-logger-set.rst b/source/includes/api-details/csharp/logger/customize-logger-set.rst new file mode 100644 index 0000000000..a55b53bfdd --- /dev/null +++ b/source/includes/api-details/csharp/logger/customize-logger-set.rst @@ -0,0 +1,2 @@ +To set a custom logger function, set :dotnet-sdk:`Logger.Default +` to a custom Logger function. \ No newline at end of file diff --git a/source/includes/api-details/dart/logger/customize-logger-initialize.rst b/source/includes/api-details/dart/logger/customize-logger-initialize.rst new file mode 100644 index 0000000000..eec711d691 --- /dev/null +++ b/source/includes/api-details/dart/logger/customize-logger-initialize.rst @@ -0,0 +1,12 @@ +This sets the logger for Realm logging in this isolate. +If you do not provide a logger, the isolate gets a logger instance by +default. You can attach to listen to the default logger using +``Realm.logger.onRecord.listen``. + +Only the first isolate that is using Realm prints the log messages. Any new +spawned isolates that work with Realm get a new ``Realm.logger`` instance, +but do not ``print`` by default. + +The default log level is :flutter-sdk:`RealmLogLevel.info +`. You can change the log level +per-isolate. diff --git a/source/includes/api-details/dart/logger/customize-logger-set.rst b/source/includes/api-details/dart/logger/customize-logger-set.rst new file mode 100644 index 0000000000..f611243ef1 --- /dev/null +++ b/source/includes/api-details/dart/logger/customize-logger-set.rst @@ -0,0 +1,6 @@ +The Realm Flutter SDK can use a custom logger that conforms to the `Dart +Logger class `__. + +To set a custom logger, create a ``Logger`` and set it using the +:flutter-sdk:`Realm.logger ` static +property from the first isolate: diff --git a/source/includes/api-details/java/logger/customize-logger-set.rst b/source/includes/api-details/java/logger/customize-logger-set.rst new file mode 100644 index 0000000000..1f61276924 --- /dev/null +++ b/source/includes/api-details/java/logger/customize-logger-set.rst @@ -0,0 +1,2 @@ +The Java SDK does not support custom loggers. To create custom loggers, use +the Kotlin SDK. diff --git a/source/includes/api-details/javascript/logger/customize-logger-set.rst b/source/includes/api-details/javascript/logger/customize-logger-set.rst new file mode 100644 index 0000000000..0c0a619f7d --- /dev/null +++ b/source/includes/api-details/javascript/logger/customize-logger-set.rst @@ -0,0 +1,6 @@ +To set a custom logger, call :js-sdk:`setLogger() `. +This method recieves ``level`` and ``message`` arguments from the Realm logger. +You can use these arguments to define your own logging behavior. + +This sets the logging behavior for all Realm logging in your application. If you +do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst b/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst new file mode 100644 index 0000000000..281f2ccc3b --- /dev/null +++ b/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst @@ -0,0 +1,5 @@ +Then, you can initialize your custom logger and call the +`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ +function to set it as a logger for your app. + +You can also remove a specific logger or remove all loggers, including the system logger. \ No newline at end of file diff --git a/source/includes/api-details/kotlin/logger/customize-logger-set.rst b/source/includes/api-details/kotlin/logger/customize-logger-set.rst new file mode 100644 index 0000000000..b8b3b8c239 --- /dev/null +++ b/source/includes/api-details/kotlin/logger/customize-logger-set.rst @@ -0,0 +1,4 @@ +You can create a custom logger that implements the +`RealmLogger <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-logger/index.html>`__ +interface. You might want to customize logging to add specific tags or set +specific log levels during development, testing, or debugging. diff --git a/source/includes/api-details/swift/logger/customize-logger-initialize.rst b/source/includes/api-details/swift/logger/customize-logger-initialize.rst new file mode 100644 index 0000000000..922ea9d2d5 --- /dev/null +++ b/source/includes/api-details/swift/logger/customize-logger-initialize.rst @@ -0,0 +1,3 @@ +You can set a logger as the default logger for your app with ``Logger.shared``. +After you set the default logger, you can change the log level during the app +lifecycle as needed. diff --git a/source/includes/api-details/swift/logger/customize-logger-set.rst b/source/includes/api-details/swift/logger/customize-logger-set.rst new file mode 100644 index 0000000000..3f629ecf0a --- /dev/null +++ b/source/includes/api-details/swift/logger/customize-logger-set.rst @@ -0,0 +1,2 @@ +Initialize an instance of a :swift-sdk:`Logger ` +and define the function to use for logging. diff --git a/source/includes/sdk-examples/logger/customize-logger-set.rst b/source/includes/sdk-examples/logger/customize-logger-set.rst new file mode 100644 index 0000000000..19494f4683 --- /dev/null +++ b/source/includes/sdk-examples/logger/customize-logger-set.rst @@ -0,0 +1,57 @@ +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + :copyable: false + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.create.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts + :language: typescript diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5f9fc0d083..b86931ba2c 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -4,10 +4,234 @@ Logging ======= +.. meta:: + :description: Use logging to debug your Atlas Device SDK app. + :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, Node.js SDK, Swift SDK, code example + +.. facet:: + :name: genre + :values: reference + +.. facet:: + :name: programming_language + :values: cpp, csharp, dart, java, javascript/typescript, kotlin, objective-c, swift + .. contents:: On this page :local: :backlinks: none :depth: 2 :class: singlecol -Placeholder page for information about logging. +.. tabs-selector:: drivers + +You can set or change your app's log level when developing or debugging +your app. You might want to change the log level to log different +amounts of data depending on your development needs. You can specify +different log levels or custom loggers. + +.. sdks-set-the-client-log-level: + +Set or Change the Log Level +--------------------------- + +You can set the level of detail reported by Atlas Device SDK. + +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/generated/cpp/logger.snippet.set-default-log-level.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/generated/ErrorHandler.snippet.set-log-level.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/logger.test.snippet.set-log-level.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-log-level-realmlog.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-log-level.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/logger.test.snippet.set-log-level.ts + :language: typescript + +You can change the log level to increase or decrease verbosity at different +points in your code. + +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/generated/ErrorHandler.snippet.set-log-level.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.change-log-level.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/logger.test.snippet.change-log-level.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/MissingPlaceholders/example.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.change-log-level.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/logger.test.snippet.change-log-level.ts + :language: typescript + +.. _sdks-customize-logger: + +Customize the Logger +-------------------- + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/cpp/logger/customize-logger-set.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/csharp/logger/customize-logger-set.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/logger/customize-logger-set.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/logger/customize-logger-set.rst + + .. tab:: + :tabid: java-kotlin + + .. include:: /includes/api-details/java/logger/customize-logger-set.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/logger/customize-logger-set.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/swift/crud/logger/customize-logger-set.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/crud/logger/customize-logger-set.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst + +.. include:: /includes/sdk-examples/logger/customize-logger-set.rst + +.. _sdks-turn-off-logging: + +Turn Off Logging +---------------- + +You can turn off logging by setting the log level to ``RealmLogLevel.off``: + +.. literalinclude:: /examples/generated/flutter/logger.snippet.set-log-level-to-off.dart + :language: dart + +Or you can clear all ``Realm.logger`` listeners: + +.. literalinclude:: /examples/generated/flutter/logger.snippet.clear-listeners.dart + :language: dart + +If you turn off logging from the first isolate, this stops the default +printing logger. + + +.. Dart: You can specify different log levels or custom loggers on a per-isolate basis. +.. C++ and Java: they haven't deprecated the sync logger. Need two main page sections + one for the new logger and one for the sync logger. +.. Swift: Has a Set the Logger Before Initializing an App Client section not found in the other sdks From 8c9eb40f44de4cf0676ecbd67d46659a05dc214f Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Thu, 23 May 2024 11:04:29 -0500 Subject: [PATCH 02/35] fix bad paths --- source/sdk/test-and-debug/log.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index b86931ba2c..27f14aecec 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -48,7 +48,7 @@ You can set the level of detail reported by Atlas Device SDK. - id: csharp content: | - .. literalinclude:: /examples/generated/ErrorHandler.snippet.set-log-level.cs + .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.set-log-level.cs :language: csharp - id: dart @@ -66,7 +66,7 @@ You can set the level of detail reported by Atlas Device SDK. - id: javascript content: | - .. literalinclude:: /examples/generated/node/logger.test.snippet.set-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts :language: javascript - id: kotlin @@ -90,7 +90,7 @@ You can set the level of detail reported by Atlas Device SDK. - id: typescript content: | - .. literalinclude:: /examples/generated/node/logger.test.snippet.set-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts :language: typescript You can change the log level to increase or decrease verbosity at different @@ -108,7 +108,7 @@ points in your code. - id: csharp content: | - .. literalinclude:: /examples/generated/ErrorHandler.snippet.set-log-level.cs + .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.set-log-level.cs :language: csharp - id: dart @@ -212,6 +212,8 @@ Customize the Logger .. include:: /includes/sdk-examples/logger/customize-logger-set.rst +.. TODO: Add initialize examples or figure out a way to consolidate content and examples + .. _sdks-turn-off-logging: Turn Off Logging From e98a8aa447418960b331e6208616bd779aa16f77 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 10:27:55 -0500 Subject: [PATCH 03/35] Test combined customize content --- .../cpp/logger/customize-logger-set.rst | 5 +- .../dart/logger/customize-logger-set.rst | 15 ++++- .../kotlin/logger/customize-logger-set.rst | 6 ++ .../logger/customize-logger-initialize.rst | 57 +++++++++++++++++++ .../logger/customize-logger-set.rst | 2 +- source/sdk/test-and-debug/log.txt | 2 +- 6 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 source/includes/sdk-examples/logger/customize-logger-initialize.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger-set.rst b/source/includes/api-details/cpp/logger/customize-logger-set.rst index b04bd5f333..6ab8d1efa2 100644 --- a/source/includes/api-details/cpp/logger/customize-logger-set.rst +++ b/source/includes/api-details/cpp/logger/customize-logger-set.rst @@ -1,3 +1,6 @@ To set a custom logger function, create a :cpp-sdk:`realm::logger ` -and override the virtual ``do_log()`` member function: +and override the virtual ``do_log()`` member function. + +Then, initialize an instance of the logger and set it as the default logger +for your realm. diff --git a/source/includes/api-details/dart/logger/customize-logger-set.rst b/source/includes/api-details/dart/logger/customize-logger-set.rst index f611243ef1..ed0360280b 100644 --- a/source/includes/api-details/dart/logger/customize-logger-set.rst +++ b/source/includes/api-details/dart/logger/customize-logger-set.rst @@ -3,4 +3,17 @@ Logger class ` static -property from the first isolate: +property from the first isolate. + +This sets the logger for Realm logging in this isolate. +If you do not provide a logger, the isolate gets a logger instance by +default. You can attach to listen to the default logger using +``Realm.logger.onRecord.listen``. + +Only the first isolate that is using Realm prints the log messages. Any new +spawned isolates that work with Realm get a new ``Realm.logger`` instance, +but do not ``print`` by default. + +The default log level is :flutter-sdk:`RealmLogLevel.info +`. You can change the log level +per-isolate. diff --git a/source/includes/api-details/kotlin/logger/customize-logger-set.rst b/source/includes/api-details/kotlin/logger/customize-logger-set.rst index b8b3b8c239..12d934f919 100644 --- a/source/includes/api-details/kotlin/logger/customize-logger-set.rst +++ b/source/includes/api-details/kotlin/logger/customize-logger-set.rst @@ -2,3 +2,9 @@ You can create a custom logger that implements the `RealmLogger <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-logger/index.html>`__ interface. You might want to customize logging to add specific tags or set specific log levels during development, testing, or debugging. + +Then, you can initialize your custom logger and call the +`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ +function to set it as a logger for your app. + +You can also remove a specific logger or remove all loggers, including the system logger. diff --git a/source/includes/sdk-examples/logger/customize-logger-initialize.rst b/source/includes/sdk-examples/logger/customize-logger-initialize.rst new file mode 100644 index 0000000000..028e589477 --- /dev/null +++ b/source/includes/sdk-examples/logger/customize-logger-initialize.rst @@ -0,0 +1,57 @@ +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + :copyable: false + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-default-logger.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/MissingPlaceholders/api.ts + :language: typescript diff --git a/source/includes/sdk-examples/logger/customize-logger-set.rst b/source/includes/sdk-examples/logger/customize-logger-set.rst index 19494f4683..92bddedc3a 100644 --- a/source/includes/sdk-examples/logger/customize-logger-set.rst +++ b/source/includes/sdk-examples/logger/customize-logger-set.rst @@ -41,7 +41,7 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.create.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec - id: swift diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 27f14aecec..a2a77ef8b8 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -212,7 +212,7 @@ Customize the Logger .. include:: /includes/sdk-examples/logger/customize-logger-set.rst -.. TODO: Add initialize examples or figure out a way to consolidate content and examples +.. include:: /includes/sdk-examples/logger/customize-logger-initialize.rst .. _sdks-turn-off-logging: From 82811d1eab384987b89965fbbfe7b08496db15bc Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 10:46:48 -0500 Subject: [PATCH 04/35] Small path fix and experiment --- source/sdk/test-and-debug/log.txt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index a2a77ef8b8..30748dbcd1 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -195,15 +195,10 @@ Customize the Logger .. include:: /includes/api-details/kotlin/logger/customize-logger-set.rst - .. tab:: - :tabid: objectivec - - .. include:: /includes/api-details/swift/crud/logger/customize-logger-set.rst - .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/crud/logger/customize-logger-set.rst + .. include:: /includes/api-details/swift/logger/customize-logger-set.rst .. tab:: :tabid: typescript From e91b7baf29a85d48f61872207c2a9eef831c04a4 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 11:11:00 -0500 Subject: [PATCH 05/35] More structure testing --- .../api-details/cpp/logger/customize-logger-set.rst | 3 +++ .../api-details/dart/logger/customize-logger-set.rst | 3 +++ .../api-details/kotlin/logger/customize-logger-set.rst | 3 +++ .../api-details/objectivec/logger/customize-logger.rst | 1 + .../api-details/swift/logger/customize-logger-set.rst | 9 +++++++++ .../sdk-examples/logger/customize-logger-initialize.rst | 2 +- .../sdk-examples/logger/customize-logger-set.rst | 2 +- source/sdk/test-and-debug/log.txt | 7 ++++++- 8 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 source/includes/api-details/objectivec/logger/customize-logger.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger-set.rst b/source/includes/api-details/cpp/logger/customize-logger-set.rst index 6ab8d1efa2..6ecaadad3f 100644 --- a/source/includes/api-details/cpp/logger/customize-logger-set.rst +++ b/source/includes/api-details/cpp/logger/customize-logger-set.rst @@ -2,5 +2,8 @@ To set a custom logger function, create a :cpp-sdk:`realm::logger ` and override the virtual ``do_log()`` member function. +.. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp + :language: cpp + Then, initialize an instance of the logger and set it as the default logger for your realm. diff --git a/source/includes/api-details/dart/logger/customize-logger-set.rst b/source/includes/api-details/dart/logger/customize-logger-set.rst index ed0360280b..76d7e0f50c 100644 --- a/source/includes/api-details/dart/logger/customize-logger-set.rst +++ b/source/includes/api-details/dart/logger/customize-logger-set.rst @@ -5,6 +5,9 @@ To set a custom logger, create a ``Logger`` and set it using the :flutter-sdk:`Realm.logger ` static property from the first isolate. +.. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart + :language: dart + This sets the logger for Realm logging in this isolate. If you do not provide a logger, the isolate gets a logger instance by default. You can attach to listen to the default logger using diff --git a/source/includes/api-details/kotlin/logger/customize-logger-set.rst b/source/includes/api-details/kotlin/logger/customize-logger-set.rst index 12d934f919..bf2b37178b 100644 --- a/source/includes/api-details/kotlin/logger/customize-logger-set.rst +++ b/source/includes/api-details/kotlin/logger/customize-logger-set.rst @@ -3,6 +3,9 @@ You can create a custom logger that implements the interface. You might want to customize logging to add specific tags or set specific log levels during development, testing, or debugging. +.. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt + :language: kotlin + Then, you can initialize your custom logger and call the `RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ function to set it as a logger for your app. diff --git a/source/includes/api-details/objectivec/logger/customize-logger.rst b/source/includes/api-details/objectivec/logger/customize-logger.rst new file mode 100644 index 0000000000..e5c3f69927 --- /dev/null +++ b/source/includes/api-details/objectivec/logger/customize-logger.rst @@ -0,0 +1 @@ +The Swift SDK does not support customizing loggers with Objective-c. \ No newline at end of file diff --git a/source/includes/api-details/swift/logger/customize-logger-set.rst b/source/includes/api-details/swift/logger/customize-logger-set.rst index 3f629ecf0a..c0ee22cfa3 100644 --- a/source/includes/api-details/swift/logger/customize-logger-set.rst +++ b/source/includes/api-details/swift/logger/customize-logger-set.rst @@ -1,2 +1,11 @@ Initialize an instance of a :swift-sdk:`Logger ` and define the function to use for logging. + +.. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift + :language: swift + +.. include:: /includes/tip-sync-log-levels.rst + +You can set a logger as the default logger for your app with ``Logger.shared``. +After you set the default logger, you can change the log level during the app +lifecycle as needed. diff --git a/source/includes/sdk-examples/logger/customize-logger-initialize.rst b/source/includes/sdk-examples/logger/customize-logger-initialize.rst index 028e589477..de08595825 100644 --- a/source/includes/sdk-examples/logger/customize-logger-initialize.rst +++ b/source/includes/sdk-examples/logger/customize-logger-initialize.rst @@ -41,7 +41,7 @@ - id: objectivec content: | - .. literalinclude:: /examples/MissingPlaceholders/example.m + .. literalinclude:: /examples/MissingPlaceholders/api.m :language: objectivec - id: swift diff --git a/source/includes/sdk-examples/logger/customize-logger-set.rst b/source/includes/sdk-examples/logger/customize-logger-set.rst index 92bddedc3a..43c70ee42b 100644 --- a/source/includes/sdk-examples/logger/customize-logger-set.rst +++ b/source/includes/sdk-examples/logger/customize-logger-set.rst @@ -41,7 +41,7 @@ - id: objectivec content: | - .. literalinclude:: /examples/MissingPlaceholders/example.m + .. literalinclude:: /examples/MissingPlaceholders/api.m :language: objectivec - id: swift diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 30748dbcd1..353050e6ba 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -195,6 +195,11 @@ Customize the Logger .. include:: /includes/api-details/kotlin/logger/customize-logger-set.rst + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objective-c/logger/customize-logger.rst + .. tab:: :tabid: swift @@ -205,7 +210,7 @@ Customize the Logger .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst -.. include:: /includes/sdk-examples/logger/customize-logger-set.rst +.. .. include:: /includes/sdk-examples/logger/customize-logger-set.rst .. include:: /includes/sdk-examples/logger/customize-logger-initialize.rst From 63d09874dcbf9d958c31b4becb6e7021d57cb7ad Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 13:47:15 -0500 Subject: [PATCH 06/35] Test --- source/sdk/test-and-debug/log.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 353050e6ba..65bf9938b8 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -198,7 +198,7 @@ Customize the Logger .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objective-c/logger/customize-logger.rst + .. include:: /includes/api-details/objectivec/logger/customize-logger.rst .. tab:: :tabid: swift @@ -210,10 +210,6 @@ Customize the Logger .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst -.. .. include:: /includes/sdk-examples/logger/customize-logger-set.rst - -.. include:: /includes/sdk-examples/logger/customize-logger-initialize.rst - .. _sdks-turn-off-logging: Turn Off Logging From 7e78249c140761b8b578367123bc0f90b9b8ba48 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 13:54:42 -0500 Subject: [PATCH 07/35] Restructure includes --- .../api-details/cpp/logger/customize-logger-set.rst | 5 ++++- .../api-details/csharp/logger/customize-logger-set.rst | 5 ++++- .../api-details/dart/logger/customize-logger-set.rst | 7 +++++-- .../javascript/logger/customize-logger-set.rst | 3 +++ .../api-details/kotlin/logger/customize-logger-set.rst | 3 +++ .../api-details/swift/logger/customize-logger-set.rst | 3 +++ .../typescript/logger/customize-logger-set.rst | 9 +++++++++ source/sdk/test-and-debug/log.txt | 2 +- 8 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 source/includes/api-details/typescript/logger/customize-logger-set.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger-set.rst b/source/includes/api-details/cpp/logger/customize-logger-set.rst index 6ecaadad3f..47bc5fdc74 100644 --- a/source/includes/api-details/cpp/logger/customize-logger-set.rst +++ b/source/includes/api-details/cpp/logger/customize-logger-set.rst @@ -6,4 +6,7 @@ and override the virtual ``do_log()`` member function. :language: cpp Then, initialize an instance of the logger and set it as the default logger -for your realm. +for your realm: + +.. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp + :language: cpp diff --git a/source/includes/api-details/csharp/logger/customize-logger-set.rst b/source/includes/api-details/csharp/logger/customize-logger-set.rst index a55b53bfdd..56d3aeb392 100644 --- a/source/includes/api-details/csharp/logger/customize-logger-set.rst +++ b/source/includes/api-details/csharp/logger/customize-logger-set.rst @@ -1,2 +1,5 @@ To set a custom logger function, set :dotnet-sdk:`Logger.Default -` to a custom Logger function. \ No newline at end of file +` to a custom Logger function. + +.. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs + :language: csharp diff --git a/source/includes/api-details/dart/logger/customize-logger-set.rst b/source/includes/api-details/dart/logger/customize-logger-set.rst index 76d7e0f50c..2c89d5eecc 100644 --- a/source/includes/api-details/dart/logger/customize-logger-set.rst +++ b/source/includes/api-details/dart/logger/customize-logger-set.rst @@ -3,7 +3,7 @@ Logger class ` static -property from the first isolate. +property from the first isolate: .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart :language: dart @@ -11,7 +11,10 @@ property from the first isolate. This sets the logger for Realm logging in this isolate. If you do not provide a logger, the isolate gets a logger instance by default. You can attach to listen to the default logger using -``Realm.logger.onRecord.listen``. +``Realm.logger.onRecord.listen``: + +.. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart + :language: dart Only the first isolate that is using Realm prints the log messages. Any new spawned isolates that work with Realm get a new ``Realm.logger`` instance, diff --git a/source/includes/api-details/javascript/logger/customize-logger-set.rst b/source/includes/api-details/javascript/logger/customize-logger-set.rst index 0c0a619f7d..87ae0ce2c8 100644 --- a/source/includes/api-details/javascript/logger/customize-logger-set.rst +++ b/source/includes/api-details/javascript/logger/customize-logger-set.rst @@ -2,5 +2,8 @@ To set a custom logger, call :js-sdk:`setLogger() `. +This method recieves ``level`` and ``message`` arguments from the Realm logger. +You can use these arguments to define your own logging behavior. + +.. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts + :language: javascript + +This sets the logging behavior for all Realm logging in your application. If you +do not provide a log level, the default value is "info". diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 65bf9938b8..8574824992 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -208,7 +208,7 @@ Customize the Logger .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst + .. include:: /includes/api-details/typescript/logger/customize-logger-set.rst .. _sdks-turn-off-logging: From 6f9809ec99554314a0d39e9d7defd913d79dc701 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 14:11:44 -0500 Subject: [PATCH 08/35] Clean up structure remnants --- .../logger/customize-logger-initialize.rst | 2 -- ...ze-logger-set.rst => customize-logger.rst} | 0 ...ze-logger-set.rst => customize-logger.rst} | 0 .../logger/customize-logger-initialize.rst | 12 -------- ...ze-logger-set.rst => customize-logger.rst} | 0 ...ze-logger-set.rst => customize-logger.rst} | 3 ++ ...ze-logger-set.rst => customize-logger.rst} | 0 .../logger/customize-logger-initialize.rst | 5 ---- ...ze-logger-set.rst => customize-logger.rst} | 0 .../objectivec/logger/customize-logger.rst | 6 +++- .../logger/customize-logger-initialize.rst | 3 -- ...ze-logger-set.rst => customize-logger.rst} | 0 ...ze-logger-set.rst => customize-logger.rst} | 0 source/sdk/test-and-debug/log.txt | 28 +++++++++---------- 14 files changed, 22 insertions(+), 37 deletions(-) delete mode 100644 source/includes/api-details/cpp/logger/customize-logger-initialize.rst rename source/includes/api-details/cpp/logger/{customize-logger-set.rst => customize-logger.rst} (100%) rename source/includes/api-details/csharp/logger/{customize-logger-set.rst => customize-logger.rst} (100%) delete mode 100644 source/includes/api-details/dart/logger/customize-logger-initialize.rst rename source/includes/api-details/dart/logger/{customize-logger-set.rst => customize-logger.rst} (100%) rename source/includes/api-details/java/logger/{customize-logger-set.rst => customize-logger.rst} (54%) rename source/includes/api-details/javascript/logger/{customize-logger-set.rst => customize-logger.rst} (100%) delete mode 100644 source/includes/api-details/kotlin/logger/customize-logger-initialize.rst rename source/includes/api-details/kotlin/logger/{customize-logger-set.rst => customize-logger.rst} (100%) delete mode 100644 source/includes/api-details/swift/logger/customize-logger-initialize.rst rename source/includes/api-details/swift/logger/{customize-logger-set.rst => customize-logger.rst} (100%) rename source/includes/api-details/typescript/logger/{customize-logger-set.rst => customize-logger.rst} (100%) diff --git a/source/includes/api-details/cpp/logger/customize-logger-initialize.rst b/source/includes/api-details/cpp/logger/customize-logger-initialize.rst deleted file mode 100644 index f9876d53c6..0000000000 --- a/source/includes/api-details/cpp/logger/customize-logger-initialize.rst +++ /dev/null @@ -1,2 +0,0 @@ -Then, initialize an instance of the logger and set it as the default logger -for your realm: \ No newline at end of file diff --git a/source/includes/api-details/cpp/logger/customize-logger-set.rst b/source/includes/api-details/cpp/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/cpp/logger/customize-logger-set.rst rename to source/includes/api-details/cpp/logger/customize-logger.rst diff --git a/source/includes/api-details/csharp/logger/customize-logger-set.rst b/source/includes/api-details/csharp/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/csharp/logger/customize-logger-set.rst rename to source/includes/api-details/csharp/logger/customize-logger.rst diff --git a/source/includes/api-details/dart/logger/customize-logger-initialize.rst b/source/includes/api-details/dart/logger/customize-logger-initialize.rst deleted file mode 100644 index eec711d691..0000000000 --- a/source/includes/api-details/dart/logger/customize-logger-initialize.rst +++ /dev/null @@ -1,12 +0,0 @@ -This sets the logger for Realm logging in this isolate. -If you do not provide a logger, the isolate gets a logger instance by -default. You can attach to listen to the default logger using -``Realm.logger.onRecord.listen``. - -Only the first isolate that is using Realm prints the log messages. Any new -spawned isolates that work with Realm get a new ``Realm.logger`` instance, -but do not ``print`` by default. - -The default log level is :flutter-sdk:`RealmLogLevel.info -`. You can change the log level -per-isolate. diff --git a/source/includes/api-details/dart/logger/customize-logger-set.rst b/source/includes/api-details/dart/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/dart/logger/customize-logger-set.rst rename to source/includes/api-details/dart/logger/customize-logger.rst diff --git a/source/includes/api-details/java/logger/customize-logger-set.rst b/source/includes/api-details/java/logger/customize-logger.rst similarity index 54% rename from source/includes/api-details/java/logger/customize-logger-set.rst rename to source/includes/api-details/java/logger/customize-logger.rst index 1f61276924..45be9996d8 100644 --- a/source/includes/api-details/java/logger/customize-logger-set.rst +++ b/source/includes/api-details/java/logger/customize-logger.rst @@ -1,2 +1,5 @@ The Java SDK does not support custom loggers. To create custom loggers, use the Kotlin SDK. + +.. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java diff --git a/source/includes/api-details/javascript/logger/customize-logger-set.rst b/source/includes/api-details/javascript/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/javascript/logger/customize-logger-set.rst rename to source/includes/api-details/javascript/logger/customize-logger.rst diff --git a/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst b/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst deleted file mode 100644 index 281f2ccc3b..0000000000 --- a/source/includes/api-details/kotlin/logger/customize-logger-initialize.rst +++ /dev/null @@ -1,5 +0,0 @@ -Then, you can initialize your custom logger and call the -`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ -function to set it as a logger for your app. - -You can also remove a specific logger or remove all loggers, including the system logger. \ No newline at end of file diff --git a/source/includes/api-details/kotlin/logger/customize-logger-set.rst b/source/includes/api-details/kotlin/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/kotlin/logger/customize-logger-set.rst rename to source/includes/api-details/kotlin/logger/customize-logger.rst diff --git a/source/includes/api-details/objectivec/logger/customize-logger.rst b/source/includes/api-details/objectivec/logger/customize-logger.rst index e5c3f69927..2b9f9d6ef8 100644 --- a/source/includes/api-details/objectivec/logger/customize-logger.rst +++ b/source/includes/api-details/objectivec/logger/customize-logger.rst @@ -1 +1,5 @@ -The Swift SDK does not support customizing loggers with Objective-c. \ No newline at end of file +The Swift SDK does not support customizing loggers with Objective-C. Use the +Swift API instead. + +.. literalinclude:: /examples/MissingPlaceholders/api.m + :language: objectivec diff --git a/source/includes/api-details/swift/logger/customize-logger-initialize.rst b/source/includes/api-details/swift/logger/customize-logger-initialize.rst deleted file mode 100644 index 922ea9d2d5..0000000000 --- a/source/includes/api-details/swift/logger/customize-logger-initialize.rst +++ /dev/null @@ -1,3 +0,0 @@ -You can set a logger as the default logger for your app with ``Logger.shared``. -After you set the default logger, you can change the log level during the app -lifecycle as needed. diff --git a/source/includes/api-details/swift/logger/customize-logger-set.rst b/source/includes/api-details/swift/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/swift/logger/customize-logger-set.rst rename to source/includes/api-details/swift/logger/customize-logger.rst diff --git a/source/includes/api-details/typescript/logger/customize-logger-set.rst b/source/includes/api-details/typescript/logger/customize-logger.rst similarity index 100% rename from source/includes/api-details/typescript/logger/customize-logger-set.rst rename to source/includes/api-details/typescript/logger/customize-logger.rst diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 8574824992..443ffc8966 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -126,13 +126,13 @@ points in your code. - id: javascript content: | - .. literalinclude:: /examples/generated/node/logger.test.snippet.change-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts :language: javascript - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/MissingPlaceholders/example.kt + .. literalinclude:: /examples/MissingPlaceholders/example.kt :language: kotlin - id: objectivec @@ -150,7 +150,7 @@ points in your code. - id: typescript content: | - .. literalinclude:: /examples/generated/node/logger.test.snippet.change-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts :language: typescript .. _sdks-customize-logger: @@ -161,39 +161,39 @@ Customize the Logger .. tabs-drivers:: .. tab:: - :tabid: cpp-sdk + :tabid: cpp - .. include:: /includes/api-details/cpp/logger/customize-logger-set.rst + .. include:: /includes/api-details/cpp/logger/customize-logger.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/customize-logger-set.rst + .. include:: /includes/api-details/csharp/logger/customize-logger.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/customize-logger-set.rst + .. include:: /includes/api-details/dart/logger/customize-logger.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/customize-logger-set.rst + .. include:: /includes/api-details/java/logger/customize-logger.rst .. tab:: - :tabid: java-kotlin + :tabid: kotlin - .. include:: /includes/api-details/java/logger/customize-logger-set.rst + .. include:: /includes/api-details/java/logger/customize-logger.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/customize-logger-set.rst + .. include:: /includes/api-details/javascript/logger/customize-logger.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger-set.rst + .. include:: /includes/api-details/kotlin/logger/customize-logger.rst .. tab:: :tabid: objectivec @@ -203,12 +203,12 @@ Customize the Logger .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/customize-logger-set.rst + .. include:: /includes/api-details/swift/logger/customize-logger.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/typescript/logger/customize-logger-set.rst + .. include:: /includes/api-details/typescript/logger/customize-logger.rst .. _sdks-turn-off-logging: From e10cf3a56d4fb8abed37a08e8727e2b33d0c7c89 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Fri, 24 May 2024 14:16:01 -0500 Subject: [PATCH 09/35] Couple more minor clean up things --- .../logger/customize-logger-initialize.rst | 57 ------------------- .../logger/customize-logger-set.rst | 57 ------------------- source/sdk/test-and-debug/log.txt | 2 +- 3 files changed, 1 insertion(+), 115 deletions(-) delete mode 100644 source/includes/sdk-examples/logger/customize-logger-initialize.rst delete mode 100644 source/includes/sdk-examples/logger/customize-logger-set.rst diff --git a/source/includes/sdk-examples/logger/customize-logger-initialize.rst b/source/includes/sdk-examples/logger/customize-logger-initialize.rst deleted file mode 100644 index de08595825..0000000000 --- a/source/includes/sdk-examples/logger/customize-logger-initialize.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. tabs-drivers:: - - tabs: - - id: cpp - content: | - - .. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp - :language: cpp - - - id: csharp - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cs - :language: csharp - - - id: dart - content: | - - .. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart - :language: dart - - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - :copyable: false - - - id: javascript - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.js - :language: javascript - - - id: kotlin - content: | - - .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt - :language: kotlin - - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - - - id: swift - content: | - - .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-default-logger.swift - :language: swift - - - id: typescript - content: | - - .. literalinclude:: /examples/generated/MissingPlaceholders/api.ts - :language: typescript diff --git a/source/includes/sdk-examples/logger/customize-logger-set.rst b/source/includes/sdk-examples/logger/customize-logger-set.rst deleted file mode 100644 index 43c70ee42b..0000000000 --- a/source/includes/sdk-examples/logger/customize-logger-set.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. tabs-drivers:: - - tabs: - - id: cpp - content: | - - .. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp - :language: cpp - - - id: csharp - content: | - - .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs - :language: csharp - - - id: dart - content: | - - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart - :language: dart - - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - :copyable: false - - - id: javascript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js - :language: javascript - - - id: kotlin - content: | - - .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt - :language: kotlin - - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - - - id: swift - content: | - - .. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift - :language: swift - - - id: typescript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts - :language: typescript diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 443ffc8966..17972bbba5 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -183,7 +183,7 @@ Customize the Logger .. tab:: :tabid: kotlin - .. include:: /includes/api-details/java/logger/customize-logger.rst + .. include:: /includes/api-details/kotlin/logger/customize-logger.rst .. tab:: :tabid: javascript From 127442a7dc497e33f5cda02362b012f0a08d9336 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 19:03:25 -0500 Subject: [PATCH 10/35] restructure includes again --- .../cpp/logger/customize-logger.rst | 6 -- .../csharp/logger/customize-logger.rst | 3 - .../dart/logger/customize-logger.rst | 6 -- .../java/logger/customize-logger.rst | 3 - .../javascript/logger/customize-logger.rst | 3 - .../kotlin/logger/customize-logger.rst | 6 -- .../objectivec/logger/customize-logger.rst | 3 - .../swift/logger/customize-logger.rst | 6 -- .../typescript/logger/customize-logger.rst | 3 - .../logger/initialize-custom-logger.rst | 61 +++++++++++++++++++ .../sdk-examples/logger/set-custom-logger.rst | 58 ++++++++++++++++++ source/sdk/test-and-debug/log.txt | 4 ++ 12 files changed, 123 insertions(+), 39 deletions(-) create mode 100644 source/includes/sdk-examples/logger/initialize-custom-logger.rst create mode 100644 source/includes/sdk-examples/logger/set-custom-logger.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger.rst b/source/includes/api-details/cpp/logger/customize-logger.rst index 47bc5fdc74..b0cdd89194 100644 --- a/source/includes/api-details/cpp/logger/customize-logger.rst +++ b/source/includes/api-details/cpp/logger/customize-logger.rst @@ -2,11 +2,5 @@ To set a custom logger function, create a :cpp-sdk:`realm::logger ` and override the virtual ``do_log()`` member function. -.. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp - :language: cpp - Then, initialize an instance of the logger and set it as the default logger for your realm: - -.. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp - :language: cpp diff --git a/source/includes/api-details/csharp/logger/customize-logger.rst b/source/includes/api-details/csharp/logger/customize-logger.rst index 56d3aeb392..641bb61b70 100644 --- a/source/includes/api-details/csharp/logger/customize-logger.rst +++ b/source/includes/api-details/csharp/logger/customize-logger.rst @@ -1,5 +1,2 @@ To set a custom logger function, set :dotnet-sdk:`Logger.Default ` to a custom Logger function. - -.. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs - :language: csharp diff --git a/source/includes/api-details/dart/logger/customize-logger.rst b/source/includes/api-details/dart/logger/customize-logger.rst index 2c89d5eecc..744badd669 100644 --- a/source/includes/api-details/dart/logger/customize-logger.rst +++ b/source/includes/api-details/dart/logger/customize-logger.rst @@ -5,17 +5,11 @@ To set a custom logger, create a ``Logger`` and set it using the :flutter-sdk:`Realm.logger ` static property from the first isolate: -.. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart - :language: dart - This sets the logger for Realm logging in this isolate. If you do not provide a logger, the isolate gets a logger instance by default. You can attach to listen to the default logger using ``Realm.logger.onRecord.listen``: -.. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart - :language: dart - Only the first isolate that is using Realm prints the log messages. Any new spawned isolates that work with Realm get a new ``Realm.logger`` instance, but do not ``print`` by default. diff --git a/source/includes/api-details/java/logger/customize-logger.rst b/source/includes/api-details/java/logger/customize-logger.rst index 45be9996d8..1f61276924 100644 --- a/source/includes/api-details/java/logger/customize-logger.rst +++ b/source/includes/api-details/java/logger/customize-logger.rst @@ -1,5 +1,2 @@ The Java SDK does not support custom loggers. To create custom loggers, use the Kotlin SDK. - -.. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java diff --git a/source/includes/api-details/javascript/logger/customize-logger.rst b/source/includes/api-details/javascript/logger/customize-logger.rst index 87ae0ce2c8..0c0a619f7d 100644 --- a/source/includes/api-details/javascript/logger/customize-logger.rst +++ b/source/includes/api-details/javascript/logger/customize-logger.rst @@ -2,8 +2,5 @@ To set a custom logger, call :js-sdk:`setLogger() `__ function to set it as a logger for your app. You can also remove a specific logger or remove all loggers, including the system logger. - -.. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt - :language: kotlin diff --git a/source/includes/api-details/objectivec/logger/customize-logger.rst b/source/includes/api-details/objectivec/logger/customize-logger.rst index 2b9f9d6ef8..a4e33eed40 100644 --- a/source/includes/api-details/objectivec/logger/customize-logger.rst +++ b/source/includes/api-details/objectivec/logger/customize-logger.rst @@ -1,5 +1,2 @@ The Swift SDK does not support customizing loggers with Objective-C. Use the Swift API instead. - -.. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec diff --git a/source/includes/api-details/swift/logger/customize-logger.rst b/source/includes/api-details/swift/logger/customize-logger.rst index 742efe5b23..b064ff1404 100644 --- a/source/includes/api-details/swift/logger/customize-logger.rst +++ b/source/includes/api-details/swift/logger/customize-logger.rst @@ -1,14 +1,8 @@ Initialize an instance of a :swift-sdk:`Logger ` and define the function to use for logging. -.. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift - :language: swift - .. include:: /includes/tip-sync-log-levels.rst You can set a logger as the default logger for your app with ``Logger.shared``. After you set the default logger, you can change the log level during the app lifecycle as needed. - -.. literalinclude:: /examples/generated/code/start/Logging.snippet.set-default-logger.swift - :language: swift diff --git a/source/includes/api-details/typescript/logger/customize-logger.rst b/source/includes/api-details/typescript/logger/customize-logger.rst index 33d3a5927b..0c0a619f7d 100644 --- a/source/includes/api-details/typescript/logger/customize-logger.rst +++ b/source/includes/api-details/typescript/logger/customize-logger.rst @@ -2,8 +2,5 @@ To set a custom logger, call :js-sdk:`setLogger() Date: Tue, 28 May 2024 19:30:14 -0500 Subject: [PATCH 11/35] final restructure? --- .../cpp/logger/customize-logger.rst | 5 +- .../cpp/logger/init-custom-logger.rst | 2 + .../csharp/logger/customize-logger.rst | 2 +- .../csharp/logger/init-custom-logger.rst | 0 .../dart/logger/customize-logger.rst | 15 +---- .../dart/logger/init-custom-logger.rst | 12 ++++ .../java/logger/customize-logger.rst | 6 +- .../java/logger/init-custom-logger.rst | 0 .../javascript/logger/customize-logger.rst | 7 ++- .../javascript/logger/init-custom-logger.rst | 0 .../kotlin/logger/customize-logger.rst | 11 +--- .../kotlin/logger/init-custom-logger.rst | 5 ++ .../objectivec/logger/customize-logger.rst | 6 +- .../objectivec/logger/init-custom-logger.rst | 0 .../swift/logger/customize-logger.rst | 5 +- .../swift/logger/init-custom-logger.rst | 0 .../typescript/logger/customize-logger.rst | 6 -- source/sdk/test-and-debug/log.txt | 60 ++++++++++++++++++- 18 files changed, 98 insertions(+), 44 deletions(-) create mode 100644 source/includes/api-details/cpp/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/csharp/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/dart/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/java/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/javascript/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/kotlin/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/objectivec/logger/init-custom-logger.rst create mode 100644 source/includes/api-details/swift/logger/init-custom-logger.rst delete mode 100644 source/includes/api-details/typescript/logger/customize-logger.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger.rst b/source/includes/api-details/cpp/logger/customize-logger.rst index b0cdd89194..d950936c87 100644 --- a/source/includes/api-details/cpp/logger/customize-logger.rst +++ b/source/includes/api-details/cpp/logger/customize-logger.rst @@ -1,6 +1,3 @@ -To set a custom logger function, create a +To set a custom logger function with the C++ SDK, create a :cpp-sdk:`realm::logger ` and override the virtual ``do_log()`` member function. - -Then, initialize an instance of the logger and set it as the default logger -for your realm: diff --git a/source/includes/api-details/cpp/logger/init-custom-logger.rst b/source/includes/api-details/cpp/logger/init-custom-logger.rst new file mode 100644 index 0000000000..9f154ce081 --- /dev/null +++ b/source/includes/api-details/cpp/logger/init-custom-logger.rst @@ -0,0 +1,2 @@ +Then, initialize an instance of the logger and set it as the default logger +for your realm: diff --git a/source/includes/api-details/csharp/logger/customize-logger.rst b/source/includes/api-details/csharp/logger/customize-logger.rst index 641bb61b70..e8603e190a 100644 --- a/source/includes/api-details/csharp/logger/customize-logger.rst +++ b/source/includes/api-details/csharp/logger/customize-logger.rst @@ -1,2 +1,2 @@ -To set a custom logger function, set :dotnet-sdk:`Logger.Default +To set a custom logger with the .NET SDK, set :dotnet-sdk:`Logger.Default ` to a custom Logger function. diff --git a/source/includes/api-details/csharp/logger/init-custom-logger.rst b/source/includes/api-details/csharp/logger/init-custom-logger.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/dart/logger/customize-logger.rst b/source/includes/api-details/dart/logger/customize-logger.rst index 744badd669..59aab676dd 100644 --- a/source/includes/api-details/dart/logger/customize-logger.rst +++ b/source/includes/api-details/dart/logger/customize-logger.rst @@ -1,19 +1,6 @@ -The Realm Flutter SDK can use a custom logger that conforms to the `Dart +The Flutter SDK can use a custom logger that conforms to the `Dart Logger class `__. To set a custom logger, create a ``Logger`` and set it using the :flutter-sdk:`Realm.logger ` static property from the first isolate: - -This sets the logger for Realm logging in this isolate. -If you do not provide a logger, the isolate gets a logger instance by -default. You can attach to listen to the default logger using -``Realm.logger.onRecord.listen``: - -Only the first isolate that is using Realm prints the log messages. Any new -spawned isolates that work with Realm get a new ``Realm.logger`` instance, -but do not ``print`` by default. - -The default log level is :flutter-sdk:`RealmLogLevel.info -`. You can change the log level -per-isolate. diff --git a/source/includes/api-details/dart/logger/init-custom-logger.rst b/source/includes/api-details/dart/logger/init-custom-logger.rst new file mode 100644 index 0000000000..d066f49c60 --- /dev/null +++ b/source/includes/api-details/dart/logger/init-custom-logger.rst @@ -0,0 +1,12 @@ +This sets the logger for databse logging in this isolate. +If you do not provide a logger, the isolate gets a logger instance by +default. You can attach to listen to the default logger using +``Realm.logger.onRecord.listen``: + +Only the first isolate that is using the database prints the log messages. Any +new spawned isolates that work with the database get a new ``Realm.logger`` +instance, but do not ``print`` by default. + +The default log level is :flutter-sdk:`RealmLogLevel.info +`. You can change the log level +per-isolate. diff --git a/source/includes/api-details/java/logger/customize-logger.rst b/source/includes/api-details/java/logger/customize-logger.rst index 1f61276924..2c0d5a3050 100644 --- a/source/includes/api-details/java/logger/customize-logger.rst +++ b/source/includes/api-details/java/logger/customize-logger.rst @@ -1,2 +1,4 @@ -The Java SDK does not support custom loggers. To create custom loggers, use -the Kotlin SDK. +.. warning:: + + The Java SDK does not support custom loggers. To create custom loggers, use + the Kotlin SDK. diff --git a/source/includes/api-details/java/logger/init-custom-logger.rst b/source/includes/api-details/java/logger/init-custom-logger.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/javascript/logger/customize-logger.rst b/source/includes/api-details/javascript/logger/customize-logger.rst index 0c0a619f7d..02e25e523c 100644 --- a/source/includes/api-details/javascript/logger/customize-logger.rst +++ b/source/includes/api-details/javascript/logger/customize-logger.rst @@ -1,6 +1,7 @@ -To set a custom logger, call :js-sdk:`setLogger() `. -This method recieves ``level`` and ``message`` arguments from the Realm logger. -You can use these arguments to define your own logging behavior. +To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() +`. This method recieves ``level`` and +``message`` arguments from the Realm logger. You can use these arguments to +define your own logging behavior. This sets the logging behavior for all Realm logging in your application. If you do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/javascript/logger/init-custom-logger.rst b/source/includes/api-details/javascript/logger/init-custom-logger.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/kotlin/logger/customize-logger.rst b/source/includes/api-details/kotlin/logger/customize-logger.rst index 12d934f919..ba46eeb76f 100644 --- a/source/includes/api-details/kotlin/logger/customize-logger.rst +++ b/source/includes/api-details/kotlin/logger/customize-logger.rst @@ -1,10 +1,3 @@ -You can create a custom logger that implements the +The Kotlin SDK implements the `RealmLogger <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-logger/index.html>`__ -interface. You might want to customize logging to add specific tags or set -specific log levels during development, testing, or debugging. - -Then, you can initialize your custom logger and call the -`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ -function to set it as a logger for your app. - -You can also remove a specific logger or remove all loggers, including the system logger. +interface for custom loggers. diff --git a/source/includes/api-details/kotlin/logger/init-custom-logger.rst b/source/includes/api-details/kotlin/logger/init-custom-logger.rst new file mode 100644 index 0000000000..a2042359bc --- /dev/null +++ b/source/includes/api-details/kotlin/logger/init-custom-logger.rst @@ -0,0 +1,5 @@ +Then, you can initialize your custom logger and call the +`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ +function to set it as a logger for your app. + +You can also remove a specific logger or remove all loggers, including the system logger. diff --git a/source/includes/api-details/objectivec/logger/customize-logger.rst b/source/includes/api-details/objectivec/logger/customize-logger.rst index a4e33eed40..42ebf232d8 100644 --- a/source/includes/api-details/objectivec/logger/customize-logger.rst +++ b/source/includes/api-details/objectivec/logger/customize-logger.rst @@ -1,2 +1,4 @@ -The Swift SDK does not support customizing loggers with Objective-C. Use the -Swift API instead. +.. warning:: + + The Swift SDK does not support customizing loggers with Objective-C. Use the + Swift API instead. diff --git a/source/includes/api-details/objectivec/logger/init-custom-logger.rst b/source/includes/api-details/objectivec/logger/init-custom-logger.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/swift/logger/customize-logger.rst b/source/includes/api-details/swift/logger/customize-logger.rst index b064ff1404..d66534e7d0 100644 --- a/source/includes/api-details/swift/logger/customize-logger.rst +++ b/source/includes/api-details/swift/logger/customize-logger.rst @@ -1,5 +1,6 @@ -Initialize an instance of a :swift-sdk:`Logger ` -and define the function to use for logging. +In the Swift SDK, initialize an instance of a :swift-sdk:`Logger +` and define the function to use +for logging. .. include:: /includes/tip-sync-log-levels.rst diff --git a/source/includes/api-details/swift/logger/init-custom-logger.rst b/source/includes/api-details/swift/logger/init-custom-logger.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/typescript/logger/customize-logger.rst b/source/includes/api-details/typescript/logger/customize-logger.rst deleted file mode 100644 index 0c0a619f7d..0000000000 --- a/source/includes/api-details/typescript/logger/customize-logger.rst +++ /dev/null @@ -1,6 +0,0 @@ -To set a custom logger, call :js-sdk:`setLogger() `. -This method recieves ``level`` and ``message`` arguments from the Realm logger. -You can use these arguments to define your own logging behavior. - -This sets the logging behavior for all Realm logging in your application. If you -do not provide a log level, the default value is "info". diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5d492ad3c5..54aa618b1d 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -158,6 +158,10 @@ points in your code. Customize the Logger -------------------- +You can create a custom logger. You might want to customize logging to add +specific tags or set specific log levels during development, testing, or +debugging. + .. tabs-drivers:: .. tab:: @@ -208,10 +212,64 @@ Customize the Logger .. tab:: :tabid: typescript - .. include:: /includes/api-details/typescript/logger/customize-logger.rst + .. include:: /includes/api-details/javascript/logger/customize-logger.rst .. include:: /includes/sdk-examples/logger/set-custom-logger.rst +After setting a custom logger, you should also initialize the logger. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp + + .. include:: /includes/api-details/cpp/logger/customize-logger.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/csharp/logger/customize-logger.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/logger/customize-logger.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/logger/customize-logger.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/javascript/logger/customize-logger.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objectivec/logger/customize-logger.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/logger/customize-logger.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/javascript/logger/customize-logger.rst + .. include:: /includes/sdk-examples/logger/initialize-custom-logger.rst .. _sdks-turn-off-logging: From b74086aee1050b1ec9f3f35f27c5af05d661c53d Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 19:33:17 -0500 Subject: [PATCH 12/35] Fix path refs --- source/sdk/test-and-debug/log.txt | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 54aa618b1d..c63cc99f1b 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -216,59 +216,57 @@ debugging. .. include:: /includes/sdk-examples/logger/set-custom-logger.rst -After setting a custom logger, you should also initialize the logger. - .. tabs-drivers:: .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/customize-logger.rst + .. include:: /includes/api-details/cpp/logger/init-custom-logger.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/customize-logger.rst + .. include:: /includes/api-details/csharp/logger/init-custom-logger.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/customize-logger.rst + .. include:: /includes/api-details/dart/logger/init-custom-logger.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/customize-logger.rst + .. include:: /includes/api-details/java/logger/init-custom-logger.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + .. include:: /includes/api-details/kotlin/logger/init-custom-logger.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/customize-logger.rst + .. include:: /includes/api-details/javascript/logger/init-custom-logger.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + .. include:: /includes/api-details/kotlin/logger/init-custom-logger.rst .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/logger/customize-logger.rst + .. include:: /includes/api-details/objectivec/logger/init-custom-logger.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/customize-logger.rst + .. include:: /includes/api-details/swift/logger/init-custom-logger.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/customize-logger.rst + .. include:: /includes/api-details/javascript/logger/init-custom-logger.rst .. include:: /includes/sdk-examples/logger/initialize-custom-logger.rst From 12b270755ec6f1c8c7410d2d00381e120c11a9ae Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 20:10:53 -0500 Subject: [PATCH 13/35] Consolidate "turn off logging" section --- .../cpp/logger/init-custom-logger.rst | 2 - .../dart/logger/init-custom-logger.rst | 9 +-- .../kotlin/logger/init-custom-logger.rst | 9 ++- .../swift/logger/customize-logger.rst | 4 - .../swift/logger/init-custom-logger.rst | 2 + source/sdk/test-and-debug/log.txt | 77 ++++++++++++++++--- 6 files changed, 79 insertions(+), 24 deletions(-) diff --git a/source/includes/api-details/cpp/logger/init-custom-logger.rst b/source/includes/api-details/cpp/logger/init-custom-logger.rst index 9f154ce081..e69de29bb2 100644 --- a/source/includes/api-details/cpp/logger/init-custom-logger.rst +++ b/source/includes/api-details/cpp/logger/init-custom-logger.rst @@ -1,2 +0,0 @@ -Then, initialize an instance of the logger and set it as the default logger -for your realm: diff --git a/source/includes/api-details/dart/logger/init-custom-logger.rst b/source/includes/api-details/dart/logger/init-custom-logger.rst index d066f49c60..2bc2a1f5a4 100644 --- a/source/includes/api-details/dart/logger/init-custom-logger.rst +++ b/source/includes/api-details/dart/logger/init-custom-logger.rst @@ -1,10 +1,9 @@ -This sets the logger for databse logging in this isolate. +In the Flutter SDK, you set a logger for database logging in an isolate. If you do not provide a logger, the isolate gets a logger instance by -default. You can attach to listen to the default logger using -``Realm.logger.onRecord.listen``: +default. You can to the default logger using ``Realm.logger.onRecord.listen``: -Only the first isolate that is using the database prints the log messages. Any -new spawned isolates that work with the database get a new ``Realm.logger`` +Only the first isolate that uses the database prints log messages. Any +newly-spawned isolates that work with the database get a new ``Realm.logger`` instance, but do not ``print`` by default. The default log level is :flutter-sdk:`RealmLogLevel.info diff --git a/source/includes/api-details/kotlin/logger/init-custom-logger.rst b/source/includes/api-details/kotlin/logger/init-custom-logger.rst index a2042359bc..7e9f7312b5 100644 --- a/source/includes/api-details/kotlin/logger/init-custom-logger.rst +++ b/source/includes/api-details/kotlin/logger/init-custom-logger.rst @@ -1,5 +1,6 @@ -Then, you can initialize your custom logger and call the -`RealmLog.add() <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ -function to set it as a logger for your app. +In the Kotlin SDK, use `RealmLog.add() +<{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ +to set your custom logger as a logger for your app. -You can also remove a specific logger or remove all loggers, including the system logger. +You can also remove a specific logger or remove all loggers, including the +system logger. diff --git a/source/includes/api-details/swift/logger/customize-logger.rst b/source/includes/api-details/swift/logger/customize-logger.rst index d66534e7d0..7d5490c675 100644 --- a/source/includes/api-details/swift/logger/customize-logger.rst +++ b/source/includes/api-details/swift/logger/customize-logger.rst @@ -3,7 +3,3 @@ In the Swift SDK, initialize an instance of a :swift-sdk:`Logger for logging. .. include:: /includes/tip-sync-log-levels.rst - -You can set a logger as the default logger for your app with ``Logger.shared``. -After you set the default logger, you can change the log level during the app -lifecycle as needed. diff --git a/source/includes/api-details/swift/logger/init-custom-logger.rst b/source/includes/api-details/swift/logger/init-custom-logger.rst index e69de29bb2..871c62563a 100644 --- a/source/includes/api-details/swift/logger/init-custom-logger.rst +++ b/source/includes/api-details/swift/logger/init-custom-logger.rst @@ -0,0 +1,2 @@ +In the Swift SDK, use ``Logger.shared``. After you set the default logger, you +can change the log level during the app lifecycle as needed. diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index c63cc99f1b..240e0492fd 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -216,6 +216,9 @@ debugging. .. include:: /includes/sdk-examples/logger/set-custom-logger.rst +After setting a custom logger, you should also initialize the logger and and set +it as the default logger for your database. + .. tabs-drivers:: .. tab:: @@ -275,21 +278,77 @@ debugging. Turn Off Logging ---------------- -You can turn off logging by setting the log level to ``RealmLogLevel.off``: +You can turn off logging by setting the log level: -.. literalinclude:: /examples/generated/flutter/logger.snippet.set-log-level-to-off.dart - :language: dart +.. note:: Flutter SDK Isolates and Logging Behavior -Or you can clear all ``Realm.logger`` listeners: + For the Flutter SDK, if you turn off logging from the first isolate, this + stops the default printing logger. -.. literalinclude:: /examples/generated/flutter/logger.snippet.clear-listeners.dart - :language: dart +.. tabs-drivers:: -If you turn off logging from the first isolate, this stops the default -printing logger. + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cpp + :language: cpp + :copyable: false + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + :copyable: false + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + :copyable: false + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: kotlin + :copyable: false + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.m + :language: objectivec + :copyable: false + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.turn-logging-off.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts + :language: typescript .. Dart: You can specify different log levels or custom loggers on a per-isolate basis. .. C++ and Java: they haven't deprecated the sync logger. Need two main page sections one for the new logger and one for the sync logger. -.. Swift: Has a Set the Logger Before Initializing an App Client section not found in the other sdks +.. Swift: Has a Set the Logger Before Initializing an App Client section not found in the other sdks. Should make an admonition +.. Node.js has "Performance and console.log()" section. Should make an admonition From 0a83c0527ad9ead4cf0070074e792997db89bc0c Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 20:30:48 -0500 Subject: [PATCH 14/35] - rename an include set - re-consolidate set level content --- ...m-logger.rst => customize-logger-init.rst} | 0 .../api-details/cpp/logger/set-level.rst | 3 + ...m-logger.rst => customize-logger-init.rst} | 0 .../api-details/csharp/logger/set-level.rst | 3 + ...m-logger.rst => customize-logger-init.rst} | 0 .../api-details/dart/logger/set-level.rst | 5 + ...m-logger.rst => customize-logger-init.rst} | 0 .../logger/set-level.rst} | 0 .../logger/customize-logger-init.rst} | 0 .../javascript/logger/set-level.rst | 13 +++ ...m-logger.rst => customize-logger-init.rst} | 0 .../api-details/kotlin/logger/set-level.rst | 8 ++ .../logger/customize-logger-init.rst | 0 .../objectivec/logger/set-level.rst | 0 ...m-logger.rst => customize-logger-init.rst} | 0 .../api-details/swift/logger/set-level.rst | 2 + .../sdk-examples/logger/set-level.rst | 56 ++++++++++++ source/sdk/test-and-debug/log.txt | 91 +++++++++---------- 18 files changed, 134 insertions(+), 47 deletions(-) rename source/includes/api-details/cpp/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/cpp/logger/set-level.rst rename source/includes/api-details/csharp/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/csharp/logger/set-level.rst rename source/includes/api-details/dart/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/dart/logger/set-level.rst rename source/includes/api-details/java/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) rename source/includes/api-details/{javascript/logger/init-custom-logger.rst => java/logger/set-level.rst} (100%) rename source/includes/api-details/{objectivec/logger/init-custom-logger.rst => javascript/logger/customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/javascript/logger/set-level.rst rename source/includes/api-details/kotlin/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/kotlin/logger/set-level.rst create mode 100644 source/includes/api-details/objectivec/logger/customize-logger-init.rst create mode 100644 source/includes/api-details/objectivec/logger/set-level.rst rename source/includes/api-details/swift/logger/{init-custom-logger.rst => customize-logger-init.rst} (100%) create mode 100644 source/includes/api-details/swift/logger/set-level.rst create mode 100644 source/includes/sdk-examples/logger/set-level.rst diff --git a/source/includes/api-details/cpp/logger/init-custom-logger.rst b/source/includes/api-details/cpp/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/cpp/logger/init-custom-logger.rst rename to source/includes/api-details/cpp/logger/customize-logger-init.rst diff --git a/source/includes/api-details/cpp/logger/set-level.rst b/source/includes/api-details/cpp/logger/set-level.rst new file mode 100644 index 0000000000..48b201654a --- /dev/null +++ b/source/includes/api-details/cpp/logger/set-level.rst @@ -0,0 +1,3 @@ +For the C++ SDK, pass a +:cpp-sdk:`realm::logger::level ` +to the ``set_default_level_threshold()`` member function: diff --git a/source/includes/api-details/csharp/logger/init-custom-logger.rst b/source/includes/api-details/csharp/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/csharp/logger/init-custom-logger.rst rename to source/includes/api-details/csharp/logger/customize-logger-init.rst diff --git a/source/includes/api-details/csharp/logger/set-level.rst b/source/includes/api-details/csharp/logger/set-level.rst new file mode 100644 index 0000000000..607283f4c3 --- /dev/null +++ b/source/includes/api-details/csharp/logger/set-level.rst @@ -0,0 +1,3 @@ +For the .NET SDK, use +:dotnet-sdk:`LogLevel ` to control which +messages are logged by the client logger: \ No newline at end of file diff --git a/source/includes/api-details/dart/logger/init-custom-logger.rst b/source/includes/api-details/dart/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/dart/logger/init-custom-logger.rst rename to source/includes/api-details/dart/logger/customize-logger-init.rst diff --git a/source/includes/api-details/dart/logger/set-level.rst b/source/includes/api-details/dart/logger/set-level.rst new file mode 100644 index 0000000000..fcdeb40089 --- /dev/null +++ b/source/includes/api-details/dart/logger/set-level.rst @@ -0,0 +1,5 @@ +In the Flutter SDK, you can set the level of detail reported on a +per-isolate basis. To configure the log level, set the static property +:flutter-sdk:`Realm.logger.level ` +to one of the constants provided by +:flutter-sdk:`RealmLogLevel `. diff --git a/source/includes/api-details/java/logger/init-custom-logger.rst b/source/includes/api-details/java/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/java/logger/init-custom-logger.rst rename to source/includes/api-details/java/logger/customize-logger-init.rst diff --git a/source/includes/api-details/javascript/logger/init-custom-logger.rst b/source/includes/api-details/java/logger/set-level.rst similarity index 100% rename from source/includes/api-details/javascript/logger/init-custom-logger.rst rename to source/includes/api-details/java/logger/set-level.rst diff --git a/source/includes/api-details/objectivec/logger/init-custom-logger.rst b/source/includes/api-details/javascript/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/objectivec/logger/init-custom-logger.rst rename to source/includes/api-details/javascript/logger/customize-logger-init.rst diff --git a/source/includes/api-details/javascript/logger/set-level.rst b/source/includes/api-details/javascript/logger/set-level.rst new file mode 100644 index 0000000000..8bdffedf15 --- /dev/null +++ b/source/includes/api-details/javascript/logger/set-level.rst @@ -0,0 +1,13 @@ +To set the level of detail reported by the Node.js SDK pass a valid level to +:js-sdk:`Realm.setLogLevel() `. Valid values +are: + +- "all" +- "trace" +- "debug" +- "detail" +- "info" +- "warn" +- "error" +- "fatal" +- "off" diff --git a/source/includes/api-details/kotlin/logger/init-custom-logger.rst b/source/includes/api-details/kotlin/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/kotlin/logger/init-custom-logger.rst rename to source/includes/api-details/kotlin/logger/customize-logger-init.rst diff --git a/source/includes/api-details/kotlin/logger/set-level.rst b/source/includes/api-details/kotlin/logger/set-level.rst new file mode 100644 index 0000000000..346dd2d18a --- /dev/null +++ b/source/includes/api-details/kotlin/logger/set-level.rst @@ -0,0 +1,8 @@ +The Kotlin SDK uses the global +`RealmLog <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/index.html>`__ +singleton. You can set the ``RealmLog.level`` property to an entry in the +`LogLevel <{+kotlin-local-prefix+}io.realm.kotlin.log/-log-level/index.html>`__ +enum to specify the level of data you want to receive. If the log level +priority is equal to or higher than the priority defined in ``RealmLog.level``, +the database logs the event. You can change the log level at any point during +the app's lifecycle from this global singleton. diff --git a/source/includes/api-details/objectivec/logger/customize-logger-init.rst b/source/includes/api-details/objectivec/logger/customize-logger-init.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/objectivec/logger/set-level.rst b/source/includes/api-details/objectivec/logger/set-level.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/swift/logger/init-custom-logger.rst b/source/includes/api-details/swift/logger/customize-logger-init.rst similarity index 100% rename from source/includes/api-details/swift/logger/init-custom-logger.rst rename to source/includes/api-details/swift/logger/customize-logger-init.rst diff --git a/source/includes/api-details/swift/logger/set-level.rst b/source/includes/api-details/swift/logger/set-level.rst new file mode 100644 index 0000000000..82a1fef6bb --- /dev/null +++ b/source/includes/api-details/swift/logger/set-level.rst @@ -0,0 +1,2 @@ +For the Realm Swift SDK, set the log level for the default logger with +``Logger.shared.level``: \ No newline at end of file diff --git a/source/includes/sdk-examples/logger/set-level.rst b/source/includes/sdk-examples/logger/set-level.rst new file mode 100644 index 0000000000..872967c818 --- /dev/null +++ b/source/includes/sdk-examples/logger/set-level.rst @@ -0,0 +1,56 @@ +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/generated/cpp/logger.snippet.set-default-log-level.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.set-log-level.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-log-level-realmlog.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-log-level.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts + :language: typescript diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 240e0492fd..2702a33275 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -38,60 +38,57 @@ You can set the level of detail reported by Atlas Device SDK. .. tabs-drivers:: - tabs: - - id: cpp - content: | + .. tab:: + :tabid: cpp - .. literalinclude:: /examples/generated/cpp/logger.snippet.set-default-log-level.cpp - :language: cpp + .. include:: /includes/api-details/cpp/logger/set-level.rst - - id: csharp - content: | + .. tab:: + :tabid: csharp - .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.set-log-level.cs - :language: csharp + .. include:: /includes/api-details/csharp/logger/set-level.rst + + .. tab:: + :tabid: dart - - id: dart - content: | + .. include:: /includes/api-details/dart/logger/set-level.rst - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart - :language: dart + .. tab:: + :tabid: java - - id: java - content: | + .. include:: /includes/api-details/java/logger/set-level.rst - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java + .. tab:: + :tabid: kotlin - - id: javascript - content: | + .. include:: /includes/api-details/kotlin/logger/set-level.rst - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts - :language: javascript + .. tab:: + :tabid: javascript - - id: kotlin - content: | + .. include:: /includes/api-details/javascript/logger/set-level.rst - .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-log-level-realmlog.kt - :language: kotlin + .. tab:: + :tabid: kotlin - - id: objectivec - content: | + .. include:: /includes/api-details/kotlin/logger/set-level.rst - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec + .. tab:: + :tabid: objectivec - - id: swift - content: | + .. include:: /includes/api-details/objectivec/logger/set-level.rst - .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-log-level.swift - :language: swift + .. tab:: + :tabid: swift - - id: typescript - content: | + .. include:: /includes/api-details/swift/logger/set-level.rst - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts - :language: typescript + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/javascript/logger/set-level.rst + +.. include:: /includes/sdk-examples/logger/set-level.rst You can change the log level to increase or decrease verbosity at different points in your code. @@ -224,52 +221,52 @@ it as the default logger for your database. .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/init-custom-logger.rst + .. include:: /includes/api-details/cpp/logger/customize-logger-init.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/init-custom-logger.rst + .. include:: /includes/api-details/csharp/logger/customize-logger-init.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/init-custom-logger.rst + .. include:: /includes/api-details/dart/logger/customize-logger-init.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/init-custom-logger.rst + .. include:: /includes/api-details/java/logger/customize-logger-init.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/init-custom-logger.rst + .. include:: /includes/api-details/kotlin/logger/customize-logger-init.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/init-custom-logger.rst + .. include:: /includes/api-details/javascript/logger/customize-logger-init.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/init-custom-logger.rst + .. include:: /includes/api-details/kotlin/logger/customize-logger-init.rst .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/logger/init-custom-logger.rst + .. include:: /includes/api-details/objectivec/logger/customize-logger-init.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/init-custom-logger.rst + .. include:: /includes/api-details/swift/logger/customize-logger-init.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/init-custom-logger.rst + .. include:: /includes/api-details/javascript/logger/customize-logger-init.rst .. include:: /includes/sdk-examples/logger/initialize-custom-logger.rst From e8b4468f1108744e2119e818454d2e52d0f3611a Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 20:55:28 -0500 Subject: [PATCH 15/35] - Lots of file renaming - Minor edits --- ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 ... logging-set-change-level-description.rst} | 0 ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 ... logging-set-change-level-description.rst} | 0 ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 ... logging-set-change-level-description.rst} | 0 ...ogging-customize-logger-description-2.rst} | 0 .../logging-customize-logger-description.rst | 4 ++ .../logging-set-change-level-description.rst | 4 ++ .../javascript/logger/customize-logger.rst | 7 -- ...ogging-customize-logger-description-2.rst} | 0 .../logging-customize-logger-description.rst | 7 ++ ... logging-set-change-level-description.rst} | 0 ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 ... logging-set-change-level-description.rst} | 9 +++ .../logger/customize-logger-init.rst | 0 ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 .../logging-set-change-level-description.rst} | 0 .../objectivec/logger/set-level.rst | 0 ...ogging-customize-logger-description-2.rst} | 0 ... logging-customize-logger-description.rst} | 0 .../logging-set-change-level-description.rst | 5 ++ .../api-details/swift/logger/set-level.rst | 2 - ...level.rst => logging-set-change-level.rst} | 0 ...er.rst => logging-set-custom-logger-2.rst} | 0 ...gger.rst => logging-set-custom-logger.rst} | 0 source/sdk/test-and-debug/log.txt | 66 +++++++++---------- 32 files changed, 62 insertions(+), 42 deletions(-) rename source/includes/api-details/cpp/logger/{customize-logger-init.rst => logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/cpp/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) rename source/includes/api-details/cpp/logger/{set-level.rst => logging-set-change-level-description.rst} (100%) rename source/includes/api-details/csharp/logger/{customize-logger-init.rst => logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/csharp/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) rename source/includes/api-details/csharp/logger/{set-level.rst => logging-set-change-level-description.rst} (100%) rename source/includes/api-details/dart/logger/{customize-logger-init.rst => logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/dart/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) rename source/includes/api-details/dart/logger/{set-level.rst => logging-set-change-level-description.rst} (100%) rename source/includes/api-details/java/logger/{customize-logger.rst => logging-customize-logger-description-2.rst} (100%) create mode 100644 source/includes/api-details/java/logger/logging-customize-logger-description.rst create mode 100644 source/includes/api-details/java/logger/logging-set-change-level-description.rst delete mode 100644 source/includes/api-details/javascript/logger/customize-logger.rst rename source/includes/api-details/{java/logger/customize-logger-init.rst => javascript/logger/logging-customize-logger-description-2.rst} (100%) create mode 100644 source/includes/api-details/javascript/logger/logging-customize-logger-description.rst rename source/includes/api-details/javascript/logger/{set-level.rst => logging-set-change-level-description.rst} (100%) rename source/includes/api-details/kotlin/logger/{customize-logger-init.rst => logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/kotlin/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) rename source/includes/api-details/kotlin/logger/{set-level.rst => logging-set-change-level-description.rst} (71%) delete mode 100644 source/includes/api-details/objectivec/logger/customize-logger-init.rst rename source/includes/api-details/{java/logger/set-level.rst => objectivec/logger/logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/objectivec/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) rename source/includes/api-details/{javascript/logger/customize-logger-init.rst => objectivec/logger/logging-set-change-level-description.rst} (100%) delete mode 100644 source/includes/api-details/objectivec/logger/set-level.rst rename source/includes/api-details/swift/logger/{customize-logger-init.rst => logging-customize-logger-description-2.rst} (100%) rename source/includes/api-details/swift/logger/{customize-logger.rst => logging-customize-logger-description.rst} (100%) create mode 100644 source/includes/api-details/swift/logger/logging-set-change-level-description.rst delete mode 100644 source/includes/api-details/swift/logger/set-level.rst rename source/includes/sdk-examples/logger/{set-level.rst => logging-set-change-level.rst} (100%) rename source/includes/sdk-examples/logger/{initialize-custom-logger.rst => logging-set-custom-logger-2.rst} (100%) rename source/includes/sdk-examples/logger/{set-custom-logger.rst => logging-set-custom-logger.rst} (100%) diff --git a/source/includes/api-details/cpp/logger/customize-logger-init.rst b/source/includes/api-details/cpp/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/cpp/logger/customize-logger-init.rst rename to source/includes/api-details/cpp/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/cpp/logger/customize-logger.rst b/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/cpp/logger/customize-logger.rst rename to source/includes/api-details/cpp/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/cpp/logger/set-level.rst b/source/includes/api-details/cpp/logger/logging-set-change-level-description.rst similarity index 100% rename from source/includes/api-details/cpp/logger/set-level.rst rename to source/includes/api-details/cpp/logger/logging-set-change-level-description.rst diff --git a/source/includes/api-details/csharp/logger/customize-logger-init.rst b/source/includes/api-details/csharp/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/csharp/logger/customize-logger-init.rst rename to source/includes/api-details/csharp/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/csharp/logger/customize-logger.rst b/source/includes/api-details/csharp/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/csharp/logger/customize-logger.rst rename to source/includes/api-details/csharp/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/csharp/logger/set-level.rst b/source/includes/api-details/csharp/logger/logging-set-change-level-description.rst similarity index 100% rename from source/includes/api-details/csharp/logger/set-level.rst rename to source/includes/api-details/csharp/logger/logging-set-change-level-description.rst diff --git a/source/includes/api-details/dart/logger/customize-logger-init.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/dart/logger/customize-logger-init.rst rename to source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/dart/logger/customize-logger.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/dart/logger/customize-logger.rst rename to source/includes/api-details/dart/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/dart/logger/set-level.rst b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst similarity index 100% rename from source/includes/api-details/dart/logger/set-level.rst rename to source/includes/api-details/dart/logger/logging-set-change-level-description.rst diff --git a/source/includes/api-details/java/logger/customize-logger.rst b/source/includes/api-details/java/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/java/logger/customize-logger.rst rename to source/includes/api-details/java/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/java/logger/logging-customize-logger-description.rst b/source/includes/api-details/java/logger/logging-customize-logger-description.rst new file mode 100644 index 0000000000..2c0d5a3050 --- /dev/null +++ b/source/includes/api-details/java/logger/logging-customize-logger-description.rst @@ -0,0 +1,4 @@ +.. warning:: + + The Java SDK does not support custom loggers. To create custom loggers, use + the Kotlin SDK. diff --git a/source/includes/api-details/java/logger/logging-set-change-level-description.rst b/source/includes/api-details/java/logger/logging-set-change-level-description.rst new file mode 100644 index 0000000000..2c0d5a3050 --- /dev/null +++ b/source/includes/api-details/java/logger/logging-set-change-level-description.rst @@ -0,0 +1,4 @@ +.. warning:: + + The Java SDK does not support custom loggers. To create custom loggers, use + the Kotlin SDK. diff --git a/source/includes/api-details/javascript/logger/customize-logger.rst b/source/includes/api-details/javascript/logger/customize-logger.rst deleted file mode 100644 index 02e25e523c..0000000000 --- a/source/includes/api-details/javascript/logger/customize-logger.rst +++ /dev/null @@ -1,7 +0,0 @@ -To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() -`. This method recieves ``level`` and -``message`` arguments from the Realm logger. You can use these arguments to -define your own logging behavior. - -This sets the logging behavior for all Realm logging in your application. If you -do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/java/logger/customize-logger-init.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/java/logger/customize-logger-init.rst rename to source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst new file mode 100644 index 0000000000..6fb1fc7416 --- /dev/null +++ b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst @@ -0,0 +1,7 @@ +To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() +`. This method recieves ``level`` and +``message`` arguments from the database logger. You can use these arguments to +define your own logging behavior. + +This sets the logging behavior for all database logging in your application. If +you do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/javascript/logger/set-level.rst b/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst similarity index 100% rename from source/includes/api-details/javascript/logger/set-level.rst rename to source/includes/api-details/javascript/logger/logging-set-change-level-description.rst diff --git a/source/includes/api-details/kotlin/logger/customize-logger-init.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/kotlin/logger/customize-logger-init.rst rename to source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/kotlin/logger/customize-logger.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/kotlin/logger/customize-logger.rst rename to source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/kotlin/logger/set-level.rst b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst similarity index 71% rename from source/includes/api-details/kotlin/logger/set-level.rst rename to source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst index 346dd2d18a..3d4e9af777 100644 --- a/source/includes/api-details/kotlin/logger/set-level.rst +++ b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst @@ -6,3 +6,12 @@ enum to specify the level of data you want to receive. If the log level priority is equal to or higher than the priority defined in ``RealmLog.level``, the database logs the event. You can change the log level at any point during the app's lifecycle from this global singleton. + +By default, all logs go to a default system logger that varies by system: + +- Android logs to Logcat. +- JVM logs to stdout. +- MacOS logs to NSLog. +- iOS logs to NSLog. + +.. include:: /includes/tip-sync-log-levels.rst diff --git a/source/includes/api-details/objectivec/logger/customize-logger-init.rst b/source/includes/api-details/objectivec/logger/customize-logger-init.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/java/logger/set-level.rst b/source/includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/java/logger/set-level.rst rename to source/includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/objectivec/logger/customize-logger.rst b/source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/objectivec/logger/customize-logger.rst rename to source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/javascript/logger/customize-logger-init.rst b/source/includes/api-details/objectivec/logger/logging-set-change-level-description.rst similarity index 100% rename from source/includes/api-details/javascript/logger/customize-logger-init.rst rename to source/includes/api-details/objectivec/logger/logging-set-change-level-description.rst diff --git a/source/includes/api-details/objectivec/logger/set-level.rst b/source/includes/api-details/objectivec/logger/set-level.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/swift/logger/customize-logger-init.rst b/source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst similarity index 100% rename from source/includes/api-details/swift/logger/customize-logger-init.rst rename to source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/swift/logger/customize-logger.rst b/source/includes/api-details/swift/logger/logging-customize-logger-description.rst similarity index 100% rename from source/includes/api-details/swift/logger/customize-logger.rst rename to source/includes/api-details/swift/logger/logging-customize-logger-description.rst diff --git a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst new file mode 100644 index 0000000000..70c3e3f198 --- /dev/null +++ b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst @@ -0,0 +1,5 @@ +For the Swift SDK, set the log level for the default logger with +``Logger.shared.level``. + +The :objc-sdk:`RLMLogLevel ` enum represents the +different levels of logging you can configure. diff --git a/source/includes/api-details/swift/logger/set-level.rst b/source/includes/api-details/swift/logger/set-level.rst deleted file mode 100644 index 82a1fef6bb..0000000000 --- a/source/includes/api-details/swift/logger/set-level.rst +++ /dev/null @@ -1,2 +0,0 @@ -For the Realm Swift SDK, set the log level for the default logger with -``Logger.shared.level``: \ No newline at end of file diff --git a/source/includes/sdk-examples/logger/set-level.rst b/source/includes/sdk-examples/logger/logging-set-change-level.rst similarity index 100% rename from source/includes/sdk-examples/logger/set-level.rst rename to source/includes/sdk-examples/logger/logging-set-change-level.rst diff --git a/source/includes/sdk-examples/logger/initialize-custom-logger.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst similarity index 100% rename from source/includes/sdk-examples/logger/initialize-custom-logger.rst rename to source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst diff --git a/source/includes/sdk-examples/logger/set-custom-logger.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger.rst similarity index 100% rename from source/includes/sdk-examples/logger/set-custom-logger.rst rename to source/includes/sdk-examples/logger/logging-set-custom-logger.rst diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 2702a33275..7de172ff70 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -41,54 +41,54 @@ You can set the level of detail reported by Atlas Device SDK. .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/set-level.rst + .. include:: /includes/api-details/cpp/logger/logging-set-change-level-description.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/set-level.rst + .. include:: /includes/api-details/csharp/logger/logging-set-change-level-description.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/set-level.rst + .. include:: /includes/api-details/dart/logger/logging-set-change-level-description.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/set-level.rst + .. include:: /includes/api-details/java/logger/logging-set-change-level-description.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/set-level.rst + .. include:: /includes/api-details/kotlin/logger/logging-set-change-level-description.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/set-level.rst + .. include:: /includes/api-details/javascript/logger/logging-set-change-level-description.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/set-level.rst + .. include:: /includes/api-details/kotlin/logger/logging-set-change-level-description.rst .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/logger/set-level.rst + .. include:: /includes/api-details/objectivec/logger/logging-set-change-level-description.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/set-level.rst + .. include:: /includes/api-details/swift/logger/logging-set-change-level-description.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/set-level.rst + .. include:: /includes/api-details/javascript/logger/logging-set-change-level-description.rst -.. include:: /includes/sdk-examples/logger/set-level.rst +.. include:: /includes/sdk-examples/logger/logging-set-change-level.rst You can change the log level to increase or decrease verbosity at different points in your code. @@ -164,54 +164,54 @@ debugging. .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/customize-logger.rst + .. include:: /includes/api-details/cpp/logger/logging-customize-logger-description.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/customize-logger.rst + .. include:: /includes/api-details/csharp/logger/logging-customize-logger-description.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/customize-logger.rst + .. include:: /includes/api-details/dart/logger/logging-customize-logger-description.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/customize-logger.rst + .. include:: /includes/api-details/java/logger/logging-customize-logger-description.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/customize-logger.rst + .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger.rst + .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description.rst .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/logger/customize-logger.rst + .. include:: /includes/api-details/objectivec/logger/logging-customize-logger-description.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/customize-logger.rst + .. include:: /includes/api-details/swift/logger/logging-customize-logger-description.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/customize-logger.rst + .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description.rst -.. include:: /includes/sdk-examples/logger/set-custom-logger.rst +.. include:: /includes/sdk-examples/logger/logging-set-custom-logger.rst After setting a custom logger, you should also initialize the logger and and set it as the default logger for your database. @@ -221,54 +221,54 @@ it as the default logger for your database. .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/customize-logger-init.rst + .. include:: /includes/api-details/cpp/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/customize-logger-init.rst + .. include:: /includes/api-details/csharp/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/logger/customize-logger-init.rst + .. include:: /includes/api-details/dart/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: java - .. include:: /includes/api-details/java/logger/customize-logger-init.rst + .. include:: /includes/api-details/java/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger-init.rst + .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: javascript - .. include:: /includes/api-details/javascript/logger/customize-logger-init.rst + .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/logger/customize-logger-init.rst + .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/logger/customize-logger-init.rst + .. include:: /includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/logger/customize-logger-init.rst + .. include:: /includes/api-details/swift/logger/logging-customize-logger-description-2.rst .. tab:: :tabid: typescript - .. include:: /includes/api-details/javascript/logger/customize-logger-init.rst + .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description-2.rst -.. include:: /includes/sdk-examples/logger/initialize-custom-logger.rst +.. include:: /includes/sdk-examples/logger/logging-set-custom-logger-2.rst .. _sdks-turn-off-logging: From 7abc9d6e9528b93320e7a56fd5dfc632a4756a7d Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 21:16:10 -0500 Subject: [PATCH 16/35] - Add content only found in some SDK docs - Add sections for Java and C++ old sync loggers --- .../logging-set-change-level-description.rst | 9 +++ ...logging-customize-logger-description-2.rst | 3 +- .../logging-customize-logger-description.rst | 5 +- .../logging-set-change-level-description.rst | 13 ++--- .../logging-customize-logger-description.rst | 2 - .../logging-set-change-level-description.rst | 9 +++ source/sdk/test-and-debug/log.txt | 57 +++++++++++++++++-- 7 files changed, 79 insertions(+), 19 deletions(-) diff --git a/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst b/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst index 8bdffedf15..4f4942fb01 100644 --- a/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst @@ -11,3 +11,12 @@ are: - "error" - "fatal" - "off" + +.. note:: Performance and console.log() + + You should avoid using ``console.log()`` in production because it will negatively + affect your app's performance. It can also be hard to account for all of the + method's quirks in Node.js. + + For details about ``console.log()`` behavior, check out the `Node.js docs + `__. diff --git a/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst index 7e9f7312b5..18cc187d90 100644 --- a/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst +++ b/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst @@ -1,5 +1,4 @@ -In the Kotlin SDK, use `RealmLog.add() -<{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/add.html>`__ +In the Kotlin SDK, use :kotlin-sdk:`RealmLog.add() <-realm-log/add.html>` to set your custom logger as a logger for your app. You can also remove a specific logger or remove all loggers, including the diff --git a/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst index ba46eeb76f..2aebd33560 100644 --- a/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst @@ -1,3 +1,2 @@ -The Kotlin SDK implements the -`RealmLogger <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-logger/index.html>`__ -interface for custom loggers. +The Kotlin SDK implements the :kotlin-sdk:`RealmLogger +<-realm-logger/index.html>` interface for custom loggers. diff --git a/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst index 3d4e9af777..ca23ed03bc 100644 --- a/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst @@ -1,11 +1,10 @@ -The Kotlin SDK uses the global -`RealmLog <{+kotlin-local-prefix+}io.realm.kotlin.log/-realm-log/index.html>`__ +The Kotlin SDK uses the global :kotlin-sdk:`RealmLog <-realm-log/index.html>` singleton. You can set the ``RealmLog.level`` property to an entry in the -`LogLevel <{+kotlin-local-prefix+}io.realm.kotlin.log/-log-level/index.html>`__ -enum to specify the level of data you want to receive. If the log level -priority is equal to or higher than the priority defined in ``RealmLog.level``, -the database logs the event. You can change the log level at any point during -the app's lifecycle from this global singleton. +:kotlin-sdk:`LogLevel <-log-level/index.html>` enum to specify the level of data +you want to receive. If the log level priority is equal to or higher than the +priority defined in ``RealmLog.level``, the database logs the event. You can +change the log level at any point during the app's lifecycle from this global +singleton. By default, all logs go to a default system logger that varies by system: diff --git a/source/includes/api-details/swift/logger/logging-customize-logger-description.rst b/source/includes/api-details/swift/logger/logging-customize-logger-description.rst index 7d5490c675..e16202535d 100644 --- a/source/includes/api-details/swift/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/swift/logger/logging-customize-logger-description.rst @@ -1,5 +1,3 @@ In the Swift SDK, initialize an instance of a :swift-sdk:`Logger ` and define the function to use for logging. - -.. include:: /includes/tip-sync-log-levels.rst diff --git a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst index 70c3e3f198..72e2c7bdfb 100644 --- a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst @@ -3,3 +3,12 @@ For the Swift SDK, set the log level for the default logger with The :objc-sdk:`RLMLogLevel ` enum represents the different levels of logging you can configure. + +.. note:: Set the Logger Before Initializing an App Client + + When you initialize an :ref:`App client `, the Swift SDK + caches the configuration for the App. Changing to the App configuration + after initialization does not have any effect. This includes setting a + logger. Initializing an App reads the current shared logger and stores that. + + However, changing the log level for an existing logger does work at any time. diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 7de172ff70..943754880a 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -270,6 +270,8 @@ it as the default logger for your database. .. include:: /includes/sdk-examples/logger/logging-set-custom-logger-2.rst +.. include:: /includes/tip-sync-log-levels.rst + .. _sdks-turn-off-logging: Turn Off Logging @@ -344,8 +346,53 @@ You can turn off logging by setting the log level: .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts :language: typescript -.. Dart: You can specify different log levels or custom loggers on a per-isolate basis. -.. C++ and Java: they haven't deprecated the sync logger. Need two main page sections - one for the new logger and one for the sync logger. -.. Swift: Has a Set the Logger Before Initializing an App Client section not found in the other sdks. Should make an admonition -.. Node.js has "Performance and console.log()" section. Should make an admonition +Java SDK: Deprecated Sync Logger +-------------------------------- + +The Java SDK's only logger is a deprecated sync logger that behaves differently +than the rest of the examples on this page. You can +view these events using :android:`Logcat `. + +The Java SDK uses the log levels defined by `Log4J +`_. +To configure the log level for database logs in your application, pass a +:java-sdk:`LogLevel ` to +:java-sdk:`RealmLog.setLevel() `: + +.. tabs-realm-languages:: + + .. tab:: + :tabid: kotlin + + .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.kt + :language: kotlin + :copyable: false + + .. tab:: + :tabid: java + + .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java + :copyable: false + +C++ SDK: Deprecated Sync Logger +-------------------------------- + +The C++ SDK uses a sync logger that behaves differently than the rest of the +examples on this page. You can set or change your sync client's log level to +develop or debug your application. You might want to change the log level to log different +amounts of data depending on the app's environment. + +.. _cpp-set-the-client-log-level: + +Set the Sync Client Log Level +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can set the level of detail reported by the sync client logger to +specify the level of output you want from the sync client. Get +:cpp-sdk:`an instance of an App's sync manager `, +and pass a :cpp-sdk:`realm::logger::level ` +to the ``set_log_level()`` member function: + +.. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp + :language: cpp From 94e3cbe854b8e5fe3cdaed80c8243688b5cb6fff Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 28 May 2024 21:19:22 -0500 Subject: [PATCH 17/35] Fix standalone Java examples --- source/sdk/test-and-debug/log.txt | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 943754880a..f36cd8ccd7 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -359,21 +359,11 @@ To configure the log level for database logs in your application, pass a :java-sdk:`LogLevel ` to :java-sdk:`RealmLog.setLevel() `: -.. tabs-realm-languages:: - - .. tab:: - :tabid: kotlin - - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.kt - :language: kotlin - :copyable: false - - .. tab:: - :tabid: java +.. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.kt + :language: kotlin - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java - :copyable: false +.. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java C++ SDK: Deprecated Sync Logger -------------------------------- From 715e97c69c0c50674f23937abf0319181febd8ab Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Sat, 1 Jun 2024 13:10:08 -0500 Subject: [PATCH 18/35] - Move all example tab groups to includes - Remove Java and Objective C placeholders - Update wording for Java support --- ...logging-customize-logger-description-2.rst | 2 +- .../logging-customize-logger-description.rst | 2 +- .../logging-set-change-level-description.rst | 7 +- ...logging-customize-logger-description-2.rst | 4 - .../logging-customize-logger-description.rst | 4 - .../logging-set-change-level-description.rst | 4 - ...logging-customize-logger-description-2.rst | 0 .../logging-customize-logger-description.rst | 4 - .../logging-set-change-level-description.rst | 0 .../logging-set-change-level-description.rst | 8 +- .../logger/logging-set-change-level-2.rst | 44 +++++ .../logger/logging-set-change-level.rst | 12 -- .../logger/logging-set-custom-logger-2.rst | 14 -- .../logger/logging-set-custom-logger.rst | 14 -- .../sdk-examples/logger/logging-turn-off.rst | 47 +++++ source/sdk/atlas/connect.txt | 1 + source/sdk/test-and-debug/log.txt | 162 ++---------------- .../connect-to-app-services-backend.txt | 1 - 18 files changed, 111 insertions(+), 219 deletions(-) delete mode 100644 source/includes/api-details/java/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/java/logger/logging-customize-logger-description.rst delete mode 100644 source/includes/api-details/java/logger/logging-set-change-level-description.rst delete mode 100644 source/includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst delete mode 100644 source/includes/api-details/objectivec/logger/logging-set-change-level-description.rst create mode 100644 source/includes/sdk-examples/logger/logging-set-change-level-2.rst create mode 100644 source/includes/sdk-examples/logger/logging-turn-off.rst diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst index 2bc2a1f5a4..14f3d05dd4 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst @@ -7,5 +7,5 @@ newly-spawned isolates that work with the database get a new ``Realm.logger`` instance, but do not ``print`` by default. The default log level is :flutter-sdk:`RealmLogLevel.info -`. You can change the log level +`. You can change the log level per-isolate. diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst index 59aab676dd..4e8c6f1a04 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst @@ -2,5 +2,5 @@ The Flutter SDK can use a custom logger that conforms to the `Dart Logger class `__. To set a custom logger, create a ``Logger`` and set it using the -:flutter-sdk:`Realm.logger ` static +:flutter-sdk:`Realm.logger ` static property from the first isolate: diff --git a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst index fcdeb40089..74e79d7edb 100644 --- a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst @@ -1,5 +1,4 @@ In the Flutter SDK, you can set the level of detail reported on a -per-isolate basis. To configure the log level, set the static property -:flutter-sdk:`Realm.logger.level ` -to one of the constants provided by -:flutter-sdk:`RealmLogLevel `. +per-isolate basis. To configure the log level, pass a valide +:flutter-sdk:`LogLevel ` value to +:flutter-sdk:`setLogLevel `. diff --git a/source/includes/api-details/java/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/java/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index 2c0d5a3050..0000000000 --- a/source/includes/api-details/java/logger/logging-customize-logger-description-2.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. warning:: - - The Java SDK does not support custom loggers. To create custom loggers, use - the Kotlin SDK. diff --git a/source/includes/api-details/java/logger/logging-customize-logger-description.rst b/source/includes/api-details/java/logger/logging-customize-logger-description.rst deleted file mode 100644 index 2c0d5a3050..0000000000 --- a/source/includes/api-details/java/logger/logging-customize-logger-description.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. warning:: - - The Java SDK does not support custom loggers. To create custom loggers, use - the Kotlin SDK. diff --git a/source/includes/api-details/java/logger/logging-set-change-level-description.rst b/source/includes/api-details/java/logger/logging-set-change-level-description.rst deleted file mode 100644 index 2c0d5a3050..0000000000 --- a/source/includes/api-details/java/logger/logging-set-change-level-description.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. warning:: - - The Java SDK does not support custom loggers. To create custom loggers, use - the Kotlin SDK. diff --git a/source/includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst b/source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst deleted file mode 100644 index 42ebf232d8..0000000000 --- a/source/includes/api-details/objectivec/logger/logging-customize-logger-description.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. warning:: - - The Swift SDK does not support customizing loggers with Objective-C. Use the - Swift API instead. diff --git a/source/includes/api-details/objectivec/logger/logging-set-change-level-description.rst b/source/includes/api-details/objectivec/logger/logging-set-change-level-description.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst index 72e2c7bdfb..07c528b199 100644 --- a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst @@ -1,10 +1,8 @@ For the Swift SDK, set the log level for the default logger with -``Logger.shared.level``. +``Logger.shared.level``. The :objc-sdk:`RLMLogLevel ` +enum represents the different levels of logging you can configure. -The :objc-sdk:`RLMLogLevel ` enum represents the -different levels of logging you can configure. - -.. note:: Set the Logger Before Initializing an App Client +.. tip:: Set the Logger Before Initializing an App Client When you initialize an :ref:`App client `, the Swift SDK caches the configuration for the App. Changing to the App configuration diff --git a/source/includes/sdk-examples/logger/logging-set-change-level-2.rst b/source/includes/sdk-examples/logger/logging-set-change-level-2.rst new file mode 100644 index 0000000000..2c919d2747 --- /dev/null +++ b/source/includes/sdk-examples/logger/logging-set-change-level-2.rst @@ -0,0 +1,44 @@ +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.change-log-level.dart + :language: dart + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.kt + :language: kotlin + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.change-log-level.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts + :language: typescript diff --git a/source/includes/sdk-examples/logger/logging-set-change-level.rst b/source/includes/sdk-examples/logger/logging-set-change-level.rst index 872967c818..154cc06f4b 100644 --- a/source/includes/sdk-examples/logger/logging-set-change-level.rst +++ b/source/includes/sdk-examples/logger/logging-set-change-level.rst @@ -19,12 +19,6 @@ .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart :language: dart - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - - id: javascript content: | @@ -37,12 +31,6 @@ .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-log-level-realmlog.kt :language: kotlin - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - - id: swift content: | diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst index ec2da5bdcf..7c3b8a2011 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst @@ -20,13 +20,6 @@ .. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart :language: dart - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - :copyable: false - - id: javascript content: | @@ -40,13 +33,6 @@ .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt :language: kotlin - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - :copyable: false - - id: swift content: | diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger.rst index 2ce84fd33f..d948bf1738 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger.rst @@ -19,13 +19,6 @@ .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart :language: dart - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - :copyable: false - - id: javascript content: | @@ -38,13 +31,6 @@ .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt :language: kotlin - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - :copyable: false - - id: swift content: | diff --git a/source/includes/sdk-examples/logger/logging-turn-off.rst b/source/includes/sdk-examples/logger/logging-turn-off.rst new file mode 100644 index 0000000000..8e4104d2c5 --- /dev/null +++ b/source/includes/sdk-examples/logger/logging-turn-off.rst @@ -0,0 +1,47 @@ +.. tabs-drivers:: + + tabs: + - id: cpp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cpp + :language: cpp + :copyable: false + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + :copyable: false + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-log-level-to-off.dart + :language: dart + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: kotlin + :copyable: false + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/Logging.snippet.turn-logging-off.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts + :language: typescript diff --git a/source/sdk/atlas/connect.txt b/source/sdk/atlas/connect.txt index 48d846836d..7d3138f155 100644 --- a/source/sdk/atlas/connect.txt +++ b/source/sdk/atlas/connect.txt @@ -1,3 +1,4 @@ +.. _ios-init-appclient: .. _sdks-connect-to-atlas: ================ diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index f36cd8ccd7..5e8c9ce5c2 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -29,6 +29,11 @@ your app. You might want to change the log level to log different amounts of data depending on your development needs. You can specify different log levels or custom loggers. +.. warning:: Java SDK Logging Support + The Java SDK does not support the same logging API as the other SDKs. + Instead, it uses a deprecated sync logger. Refer to the Java SDK: Deprecated + Sync Logger section on this page for more details. + .. sdks-set-the-client-log-level: Set or Change the Log Level @@ -53,11 +58,6 @@ You can set the level of detail reported by Atlas Device SDK. .. include:: /includes/api-details/dart/logger/logging-set-change-level-description.rst - .. tab:: - :tabid: java - - .. include:: /includes/api-details/java/logger/logging-set-change-level-description.rst - .. tab:: :tabid: kotlin @@ -73,11 +73,6 @@ You can set the level of detail reported by Atlas Device SDK. .. include:: /includes/api-details/kotlin/logger/logging-set-change-level-description.rst - .. tab:: - :tabid: objectivec - - .. include:: /includes/api-details/objectivec/logger/logging-set-change-level-description.rst - .. tab:: :tabid: swift @@ -93,62 +88,7 @@ You can set the level of detail reported by Atlas Device SDK. You can change the log level to increase or decrease verbosity at different points in your code. -.. tabs-drivers:: - - tabs: - - id: cpp - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cpp - :language: cpp - - - id: csharp - content: | - - .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.set-log-level.cs - :language: csharp - - - id: dart - content: | - - .. literalinclude:: /examples/generated/flutter/logger.snippet.change-log-level.dart - :language: dart - - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - - - id: javascript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts - :language: javascript - - - id: kotlin - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.kt - :language: kotlin - - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - - - id: swift - content: | - - .. literalinclude:: /examples/generated/code/start/Logging.snippet.change-log-level.swift - :language: swift - - - id: typescript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.change-log-level.ts - :language: typescript +.. include:: /includes/sdk-examples/logger/logging-set-change-level-2.rst .. _sdks-customize-logger: @@ -176,11 +116,6 @@ debugging. .. include:: /includes/api-details/dart/logger/logging-customize-logger-description.rst - .. tab:: - :tabid: java - - .. include:: /includes/api-details/java/logger/logging-customize-logger-description.rst - .. tab:: :tabid: kotlin @@ -196,11 +131,6 @@ debugging. .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description.rst - .. tab:: - :tabid: objectivec - - .. include:: /includes/api-details/objectivec/logger/logging-customize-logger-description.rst - .. tab:: :tabid: swift @@ -233,11 +163,6 @@ it as the default logger for your database. .. include:: /includes/api-details/dart/logger/logging-customize-logger-description-2.rst - .. tab:: - :tabid: java - - .. include:: /includes/api-details/java/logger/logging-customize-logger-description-2.rst - .. tab:: :tabid: kotlin @@ -253,11 +178,6 @@ it as the default logger for your database. .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst - .. tab:: - :tabid: objectivec - - .. include:: /includes/api-details/objectivec/logger/logging-customize-logger-description-2.rst - .. tab:: :tabid: swift @@ -279,73 +199,13 @@ Turn Off Logging You can turn off logging by setting the log level: +.. include:: /includes/sdk-examples/logger/logging-turn-off.rst + .. note:: Flutter SDK Isolates and Logging Behavior For the Flutter SDK, if you turn off logging from the first isolate, this stops the default printing logger. -.. tabs-drivers:: - - tabs: - - id: cpp - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cpp - :language: cpp - :copyable: false - - - id: csharp - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cs - :language: csharp - :copyable: false - - - id: dart - content: | - - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart - :language: dart - - - id: java - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.java - :language: java - :copyable: false - - - id: javascript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts - :language: javascript - - - id: kotlin - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cs - :language: kotlin - :copyable: false - - - id: objectivec - content: | - - .. literalinclude:: /examples/MissingPlaceholders/api.m - :language: objectivec - :copyable: false - - - id: swift - content: | - - .. literalinclude:: /examples/generated/code/start/Logging.snippet.turn-logging-off.swift - :language: swift - - - id: typescript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.disable-logger.ts - :language: typescript - Java SDK: Deprecated Sync Logger -------------------------------- @@ -353,15 +213,15 @@ The Java SDK's only logger is a deprecated sync logger that behaves differently than the rest of the examples on this page. You can view these events using :android:`Logcat `. +To access newer logging features, like creating custom loggers, use the Kotlin +SDK. + The Java SDK uses the log levels defined by `Log4J `_. To configure the log level for database logs in your application, pass a :java-sdk:`LogLevel ` to :java-sdk:`RealmLog.setLevel() `: -.. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.kt - :language: kotlin - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java :language: java diff --git a/temp/swift/app-services/connect-to-app-services-backend.txt b/temp/swift/app-services/connect-to-app-services-backend.txt index 019fb8ac7b..4bda9b7f3a 100644 --- a/temp/swift/app-services/connect-to-app-services-backend.txt +++ b/temp/swift/app-services/connect-to-app-services-backend.txt @@ -1,4 +1,3 @@ -.. _ios-init-appclient: .. _ios-connect-to-a-mongodb-realm-backend-app: ==================================================== From 780eda27945302d3eab4860567c2964c4563bd52 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 4 Jun 2024 08:34:55 -0400 Subject: [PATCH 19/35] Upgrade deps --- examples/dart/pubspec.lock | 139 +++++++++++++++++++++---------------- 1 file changed, 80 insertions(+), 59 deletions(-) diff --git a/examples/dart/pubspec.lock b/examples/dart/pubspec.lock index e142283420..b21f00065b 100644 --- a/examples/dart/pubspec.lock +++ b/examples/dart/pubspec.lock @@ -5,10 +5,15 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: "5aaf60d96c4cd00fe7f21594b5ad6a1b699c80a27420f8a837f4d68473ef09e3" url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "68.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.1.0" adaptive_number: dependency: transitive description: @@ -21,18 +26,18 @@ packages: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: "21f1d3720fd1c70316399d5e2bccaebb415c434592d778cce8acb967b8578808" url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.5.0" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -77,10 +82,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -93,10 +98,10 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" + sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.10" build_runner_core: dependency: transitive description: @@ -117,10 +122,10 @@ packages: dependency: transitive description: name: built_value - sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.9.0" + version: "8.9.2" cancellation_token: dependency: transitive description: @@ -173,10 +178,10 @@ packages: dependency: transitive description: name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + sha256: "3945034e86ea203af7a056d98e98e42a5518fff200d6e8e6647e1886b07e936e" url: "https://pub.dev" source: hosted - version: "1.7.2" + version: "1.8.0" crypto: dependency: transitive description: @@ -189,18 +194,18 @@ packages: dependency: "direct main" description: name: dart_jsonwebtoken - sha256: "063c20d3cee2b626d8a789ba9df0ad21f35012c4e9bd846ce50e921d77123df7" + sha256: "346e9a21e4bf6e6a431e19ece00ebb2e3668e1e339cabdf6f46d18d88692a848" url: "https://pub.dev" source: hosted - version: "2.12.2" + version: "2.14.0" dart_style: dependency: transitive description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.6" ed25519_edwards: dependency: transitive description: @@ -237,10 +242,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -261,10 +266,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: @@ -285,10 +290,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -317,18 +322,18 @@ packages: dependency: transitive description: name: js - sha256: "4186c61b32f99e60f011f7160e32c89a758ae9b1d0c6d28e2c02ef0382300e2b" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.1" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" lints: dependency: "direct dev" description: @@ -345,6 +350,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "12e8a9842b5a7390de7a781ec63d793527582398d16ea26c60fed58833c9ae79" + url: "https://pub.dev" + source: hosted + version: "0.1.0-main.0" matcher: dependency: transitive description: @@ -357,10 +370,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: @@ -405,10 +418,10 @@ packages: dependency: transitive description: name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe" url: "https://pub.dev" source: hosted - version: "3.7.4" + version: "3.9.1" pool: dependency: transitive description: @@ -429,34 +442,34 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.3.0" realm_common: dependency: transitive description: name: realm_common - sha256: c04b64fcbcd0afd78c06939efdedb484417697242039d5bb0b07fa150c9c021d + sha256: "1f36a224f35fd089691b631c0c9c92af274e00d524258203a937706d7d5e9d0c" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" realm_dart: dependency: "direct main" description: name: realm_dart - sha256: b523d392ec614ccb358e64451aca4772d56db23f93e8f58dd1d1780dadc92706 + sha256: ce2bd5dfb5eee142998fc7f395df34e349e1c179b78582d6d84bb4003c556c81 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" realm_generator: dependency: transitive description: name: realm_generator - sha256: a5c3c403add9d886c098509b49517f44f1d8b667ac0178f80f58fea5ce069fb8 + sha256: "183257f345ac5b01b424261dd6e3c400d414bec725d33d390b5b6942274f5a80" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" sane_uuid: dependency: transitive description: @@ -493,10 +506,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" source_gen: dependency: transitive description: @@ -565,10 +578,10 @@ packages: dependency: transitive description: name: tar - sha256: "1680219f82dfa81c8d0e76e849b7b34ea969c721f55a8ebd294a9a95e740dd42" + sha256: "22f67e2d77b51050436620b2a5de521c58ca6f0b75af1d9ab3c8cae2eae58fcd" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" term_glyph: dependency: transitive description: @@ -581,26 +594,26 @@ packages: dependency: "direct main" description: name: test - sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" + sha256: "47e9b601e20f24c27d08002eb635e92ddc2195010a8b3a621f4ed44ef70f6864" url: "https://pub.dev" source: hosted - version: "1.25.2" + version: "1.25.6" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" test_core: dependency: transitive description: name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" + sha256: "0c583123c86e58ab5036c92db5c7116ffddd655f1f5be762967d09f0fc66bf2d" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.3" timing: dependency: transitive description: @@ -613,10 +626,10 @@ packages: dependency: transitive description: name: type_plus - sha256: "2e33cfac2e129297d5874567bdf7587502ec359881e9318551e014d91b02f84a" + sha256: d5d1019471f0d38b91603adb9b5fd4ce7ab903c879d2fbf1a3f80a630a03fcc9 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" typed_data: dependency: transitive description: @@ -629,10 +642,10 @@ packages: dependency: transitive description: name: vm_service - sha256: a2662fb1f114f4296cf3f5a50786a2d888268d7776cf681aa17d660ffa23b246 + sha256: "360c4271613beb44db559547d02f8b0dc044741d0eeb9aa6ccdb47e8ec54c63a" url: "https://pub.dev" source: hosted - version: "14.0.0" + version: "14.2.3" watcher: dependency: transitive description: @@ -645,18 +658,26 @@ packages: dependency: transitive description: name: web - sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "24301d8c293ce6fe327ffe6f59d8fd8834735f0ec36e4fd383ec7ff8a64aa078" + url: "https://pub.dev" + source: hosted + version: "0.1.5" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "939ab60734a4f8fa95feacb55804fa278de28bdeef38e616dc08e44a84adea23" + sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276 url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "3.0.0" webkit_inspection_protocol: dependency: transitive description: @@ -674,4 +695,4 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.0 <4.0.0" From ab1ccd298a3be8d7edcd1a7812923e89504e7dca Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Wed, 5 Jun 2024 12:37:27 -0400 Subject: [PATCH 20/35] Update Dart Logger test and generate snippets --- examples/dart/test/logger.dart | 202 ++++++------------ examples/dart/test/utils.dart | 4 + .../logger.snippet.change-log-level.dart | 11 +- .../logger.snippet.set-custom-logger.dart | 5 +- .../logger.snippet.set-log-level-to-off.dart | 2 +- .../logger.snippet.set-the-log-level.dart | 3 +- 6 files changed, 76 insertions(+), 151 deletions(-) diff --git a/examples/dart/test/logger.dart b/examples/dart/test/logger.dart index a743ff6fa8..bd7fd5ec2c 100644 --- a/examples/dart/test/logger.dart +++ b/examples/dart/test/logger.dart @@ -1,167 +1,85 @@ import 'package:test/test.dart'; -import '../bin/models/car.dart'; import 'dart:async'; -import 'dart:isolate'; -import 'package:realm_dart/src/realm_class.dart' show RealmInternal; -import 'package:logging/logging.dart'; import 'package:realm_dart/realm.dart'; import './utils.dart'; - -class LoggedMessage { - final Level level; - final String message; - - const LoggedMessage(this.level, this.message); - - factory LoggedMessage.empty() => LoggedMessage(RealmLogLevel.off, ""); - - @override - // ignore: hash_and_equals - bool operator ==(Object other) { - if (identical(this, other)) return true; - if (other is! LoggedMessage) return false; - return level == other.level && message == other.message; - } - - @override - String toString() => "level:$level message:$message"; -} +import 'schemas.dart'; void main() { - group('Set log level and customize logger', () { - test('Set the log level', () async { - LoggedMessage actual = await Isolate.run(() async { - final completer = Completer(); - - // :snippet-start: set-the-log-level - Realm.logger.level = RealmLogLevel.trace; - // :snippet-end: - // :snippet-start: attach-to-logger - Realm.logger.onRecord.listen((event) { - // Do something with the log event - for example, print to console - print("Realm log message: '$event'"); - // :remove-start: - completer.complete(LoggedMessage(event.level, event.message)); - // :remove-end: - }); - // :snippet-end: - - RealmInternal.logMessageForTesting( - RealmLogLevel.trace, "Realm log message for log level testing"); - - return await completer.future; - }); - - expect( - actual, - LoggedMessage( - RealmLogLevel.trace, "Realm log message for log level testing")); + test('Set log level and customize logger', () async { + final stringBuffer = StringBuffer(); + + // :snippet-start: set-the-log-level + // If no category is set, default is LogCategory.realm + Realm.logger.setLogLevel(LogLevel.all, category: LogCategory.realm); + // :snippet-end: + + // Customize logging behavior + // :snippet-start: set-custom-logger + Realm.logger.onRecord.listen((record) { + // Do something with the log record + // :uncomment-start: + // print(record.message); + // :uncomment-end: + // :remove-start: + // For testing + stringBuffer + .writeln('${record.category} ${record.level}: ${record.message}'); + // :remove-end: }); - test('Set a custom logger', () async { - LoggedMessage actual = await Isolate.run(() async { - final completer = Completer(); - - Realm.logger.onRecord.listen((event) { - throw RealmError( - "Default logger should not log messages if custom logger is set"); - }); - - // :snippet-start: set-custom-logger - Realm.logger = Logger.detached("custom logger"); - // :snippet-end: - Realm.logger.onRecord.listen((event) { - completer.complete(LoggedMessage(event.level, event.message)); - }); - - RealmInternal.logMessageForTesting( - RealmLogLevel.info, "Custom Realm log entry for testing"); - - return await completer.future; - }); - - expect( - actual, - LoggedMessage( - RealmLogLevel.info, "Custom Realm log entry for testing")); - }); - test('Change the log level as needed', () async { - bool logMessageReceived = false; - - Realm.logger.onRecord.listen((event) { - logMessageReceived = true; - }); - - void executeAppCode() { - // Placeholder - } + // :snippet-end: - void executeComplexCodeToDebug() { - // Placeholder - } + final config = Configuration.local([Person.schema]); + final realm = Realm(config); - // :snippet-start: change-log-level - // Set a default log level that's not too verbose - Realm.logger.level = RealmLogLevel.info; - executeAppCode(); - // Later, change the log level to debug an issue when running specific code - Realm.logger.level = RealmLogLevel.trace; - executeComplexCodeToDebug(); - // :snippet-end: + realm.write(() => realm.add(Person(ObjectId(), 'Anakin', 'Skywalker'))); - // Because we changed logging from .info to .trace, this should log a message. - RealmInternal.logMessageForTesting(RealmLogLevel.trace, - "This message should be logged because the log level was changed"); + // Hack to wait for stream to process + await delay(200); - await Future.delayed(Duration(seconds: 2)); + final logs = stringBuffer.toString(); - expect(logMessageReceived, isTrue); - }); - test('Set the log level to off', () async { - bool logMessageReceived = false; + // Expect logs to contain a substring that includes the field and value + // we set earlier + expect(logs.contains('Set \'firstName\' to "Anakin"'), isTrue); - Realm.logger.onRecord.listen((event) { - logMessageReceived = true; - }); + Future executeAppCode() async { + // Capture log length before new write transaction + final oldStringBufferLength = stringBuffer.length; - // Set the log level to the level in our test message to ensure - // the listener would log the event if logging did not turn off. - Realm.logger.level = RealmLogLevel.trace; - // :snippet-start: set-log-level-to-off - Realm.logger.level = RealmLogLevel.off; - // :snippet-end: + realm.write(() => realm.add(Person(ObjectId(), 'Leia', 'Organa'))); - // If logging was enabled at this log level, this should log a message. - // But because the log level is off, it should not log a message. - RealmInternal.logMessageForTesting(RealmLogLevel.trace, - "This message should not appear because the logger is off"); + // Hack to wait for stream to process + await delay(200); - await Future.delayed(Duration(seconds: 2)); + // Ensure that no new logs have been written after setting log level to off + // Length should not change. + expect(stringBuffer.length, oldStringBufferLength); + } - expect(logMessageReceived, isFalse); - }); + Future executeComplexCodeToDebug() async { + // Capture log length before new write transaction + final previousStringBufferLength = stringBuffer.length; - test('Disable logging by clearing listeners', () async { - bool logMessageReceived = false; + realm.write(() => realm.add(Person(ObjectId(), 'Mon', 'Mothma'))); - Realm.logger.onRecord.listen((event) { - logMessageReceived = true; - }); + // Hack to wait for stream to process + await delay(200); - // Set the log level to the level in our test message to ensure - // the listener would log the event if it was active. - Realm.logger.level = RealmLogLevel.trace; - // :snippet-start: clear-listeners - Realm.logger.clearListeners(); - // :snippet-end: + // There should be more log records than before the latest write + // transaction + expect(stringBuffer.length, greaterThan(previousStringBufferLength)); + } - // If logging was enabled at this log level, this should log a message. - // But because we have cleared log listeners, it should not log a message. - RealmInternal.logMessageForTesting(RealmLogLevel.trace, - "This message should not appear because listeners have been cleared"); + // :snippet-start: change-log-level + // :snippet-start: set-log-level-to-off + Realm.logger.setLogLevel(LogLevel.off); + // :snippet-end: + await executeAppCode(); - await Future.delayed(Duration(seconds: 2)); + Realm.logger.setLogLevel(LogLevel.debug, category: LogCategory.realm); + await executeComplexCodeToDebug(); + // :snippet-end: - expect(logMessageReceived, isFalse); - }); + cleanUpRealm(realm); }); } diff --git a/examples/dart/test/utils.dart b/examples/dart/test/utils.dart index ed245e61d0..d0917791f3 100644 --- a/examples/dart/test/utils.dart +++ b/examples/dart/test/utils.dart @@ -18,3 +18,7 @@ String generateRandomString(int len) { return List.generate(len, (index) => _chars[random.nextInt(_chars.length)]) .join(); } + +Future delay(duration) async { + await Future.delayed(Duration(milliseconds: duration)); +} diff --git a/source/examples/generated/flutter/logger.snippet.change-log-level.dart b/source/examples/generated/flutter/logger.snippet.change-log-level.dart index 71f26a4dfb..385771afe2 100644 --- a/source/examples/generated/flutter/logger.snippet.change-log-level.dart +++ b/source/examples/generated/flutter/logger.snippet.change-log-level.dart @@ -1,6 +1,5 @@ -// Set a default log level that's not too verbose -Realm.logger.level = RealmLogLevel.info; -executeAppCode(); -// Later, change the log level to debug an issue when running specific code -Realm.logger.level = RealmLogLevel.trace; -executeComplexCodeToDebug(); +Realm.logger.setLogLevel(LogLevel.off); +await executeAppCode(); + +Realm.logger.setLogLevel(LogLevel.debug, category: LogCategory.realm); +await executeComplexCodeToDebug(); diff --git a/source/examples/generated/flutter/logger.snippet.set-custom-logger.dart b/source/examples/generated/flutter/logger.snippet.set-custom-logger.dart index 41ee882000..b968e3aaf3 100644 --- a/source/examples/generated/flutter/logger.snippet.set-custom-logger.dart +++ b/source/examples/generated/flutter/logger.snippet.set-custom-logger.dart @@ -1 +1,4 @@ -Realm.logger = Logger.detached("custom logger"); +Realm.logger.onRecord.listen((record) { + // Do something with the log record + print(record.message); +}); diff --git a/source/examples/generated/flutter/logger.snippet.set-log-level-to-off.dart b/source/examples/generated/flutter/logger.snippet.set-log-level-to-off.dart index 51bce8ffa3..2932b2a7f9 100644 --- a/source/examples/generated/flutter/logger.snippet.set-log-level-to-off.dart +++ b/source/examples/generated/flutter/logger.snippet.set-log-level-to-off.dart @@ -1 +1 @@ -Realm.logger.level = RealmLogLevel.off; +Realm.logger.setLogLevel(LogLevel.off); diff --git a/source/examples/generated/flutter/logger.snippet.set-the-log-level.dart b/source/examples/generated/flutter/logger.snippet.set-the-log-level.dart index 4ad9503cf3..f2a51ddb52 100644 --- a/source/examples/generated/flutter/logger.snippet.set-the-log-level.dart +++ b/source/examples/generated/flutter/logger.snippet.set-the-log-level.dart @@ -1 +1,2 @@ -Realm.logger.level = RealmLogLevel.trace; +// If no category is set, default is LogCategory.realm +Realm.logger.setLogLevel(LogLevel.all, category: LogCategory.realm); From 701f54d9b4b659e3be28dbbd90eb1e8741d1dcf0 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Wed, 5 Jun 2024 15:38:05 -0400 Subject: [PATCH 21/35] - Rename example includes - Map Dart examples to new snippets --- .../logging-customize-logger-description-2.rst | 13 ++----------- .../logger/logging-customize-logger-description.rst | 8 ++------ .../logger/logging-set-change-level-description.rst | 4 ++-- ...2.rst => logging-set-change-level-example-2.rst} | 0 ...vel.rst => logging-set-change-level-example.rst} | 0 ....rst => logging-set-custom-logger-example-2.rst} | 2 +- ...er.rst => logging-set-custom-logger-example.rst} | 2 +- ...ng-turn-off.rst => logging-turn-off-example.rst} | 0 source/sdk/test-and-debug/log.txt | 10 +++++----- 9 files changed, 13 insertions(+), 26 deletions(-) rename source/includes/sdk-examples/logger/{logging-set-change-level-2.rst => logging-set-change-level-example-2.rst} (100%) rename source/includes/sdk-examples/logger/{logging-set-change-level.rst => logging-set-change-level-example.rst} (100%) rename source/includes/sdk-examples/logger/{logging-set-custom-logger-2.rst => logging-set-custom-logger-example-2.rst} (97%) rename source/includes/sdk-examples/logger/{logging-set-custom-logger.rst => logging-set-custom-logger-example.rst} (97%) rename source/includes/sdk-examples/logger/{logging-turn-off.rst => logging-turn-off-example.rst} (100%) diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst index 14f3d05dd4..babb9070e2 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst @@ -1,11 +1,2 @@ -In the Flutter SDK, you set a logger for database logging in an isolate. -If you do not provide a logger, the isolate gets a logger instance by -default. You can to the default logger using ``Realm.logger.onRecord.listen``: - -Only the first isolate that uses the database prints log messages. Any -newly-spawned isolates that work with the database get a new ``Realm.logger`` -instance, but do not ``print`` by default. - -The default log level is :flutter-sdk:`RealmLogLevel.info -`. You can change the log level -per-isolate. +Define custom logging behavior by listening to :flutter-sdk:`Realm.logger.onRecord +`: diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst index 4e8c6f1a04..1a2f0cbc97 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst @@ -1,6 +1,2 @@ -The Flutter SDK can use a custom logger that conforms to the `Dart -Logger class `__. - -To set a custom logger, create a ``Logger`` and set it using the -:flutter-sdk:`Realm.logger ` static -property from the first isolate: +The Flutter SDK logger conforms to the `Dart Logger class +`__. diff --git a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst index 74e79d7edb..ff4bfff962 100644 --- a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst @@ -1,4 +1,4 @@ -In the Flutter SDK, you can set the level of detail reported on a -per-isolate basis. To configure the log level, pass a valide +In the Flutter SDK, you can set the level of detail in different parts of +your app. To configure the log level, pass a valid :flutter-sdk:`LogLevel ` value to :flutter-sdk:`setLogLevel `. diff --git a/source/includes/sdk-examples/logger/logging-set-change-level-2.rst b/source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst similarity index 100% rename from source/includes/sdk-examples/logger/logging-set-change-level-2.rst rename to source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst diff --git a/source/includes/sdk-examples/logger/logging-set-change-level.rst b/source/includes/sdk-examples/logger/logging-set-change-level-example.rst similarity index 100% rename from source/includes/sdk-examples/logger/logging-set-change-level.rst rename to source/includes/sdk-examples/logger/logging-set-change-level-example.rst diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst similarity index 97% rename from source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst rename to source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst index 7c3b8a2011..6ea387cd89 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-2.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst @@ -17,7 +17,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/logger.snippet.attach-to-logger.dart + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart :language: dart - id: javascript diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst similarity index 97% rename from source/includes/sdk-examples/logger/logging-set-custom-logger.rst rename to source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst index d948bf1738..166e21c57c 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst @@ -16,7 +16,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart :language: dart - id: javascript diff --git a/source/includes/sdk-examples/logger/logging-turn-off.rst b/source/includes/sdk-examples/logger/logging-turn-off-example.rst similarity index 100% rename from source/includes/sdk-examples/logger/logging-turn-off.rst rename to source/includes/sdk-examples/logger/logging-turn-off-example.rst diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5e8c9ce5c2..8e7a549c7b 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -83,12 +83,12 @@ You can set the level of detail reported by Atlas Device SDK. .. include:: /includes/api-details/javascript/logger/logging-set-change-level-description.rst -.. include:: /includes/sdk-examples/logger/logging-set-change-level.rst +.. include:: /includes/sdk-examples/logger/logging-set-change-level-example.rst You can change the log level to increase or decrease verbosity at different points in your code. -.. include:: /includes/sdk-examples/logger/logging-set-change-level-2.rst +.. include:: /includes/sdk-examples/logger/logging-set-change-level-example-2.rst .. _sdks-customize-logger: @@ -141,7 +141,7 @@ debugging. .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description.rst -.. include:: /includes/sdk-examples/logger/logging-set-custom-logger.rst +.. include:: /includes/sdk-examples/logger/logging-set-custom-logger-example.rst After setting a custom logger, you should also initialize the logger and and set it as the default logger for your database. @@ -188,7 +188,7 @@ it as the default logger for your database. .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description-2.rst -.. include:: /includes/sdk-examples/logger/logging-set-custom-logger-2.rst +.. include:: /includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst .. include:: /includes/tip-sync-log-levels.rst @@ -199,7 +199,7 @@ Turn Off Logging You can turn off logging by setting the log level: -.. include:: /includes/sdk-examples/logger/logging-turn-off.rst +.. include:: /includes/sdk-examples/logger/logging-turn-off-example.rst .. note:: Flutter SDK Isolates and Logging Behavior From 8622eeb1c412a9e53e540c629e1271cb257b0564 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Thu, 6 Jun 2024 11:56:19 -0400 Subject: [PATCH 22/35] Minor edits --- .../logging-customize-logger-description.rst | 2 ++ .../logging-customize-logger-description-2.rst | 7 +++++++ .../logging-customize-logger-description.rst | 8 +------- .../logging-set-change-level-description.rst | 14 ++------------ .../logger/logging-set-custom-logger-example-2.rst | 4 ++-- .../logger/logging-set-custom-logger-example.rst | 4 ++-- source/sdk/test-and-debug/log.txt | 9 ++------- 7 files changed, 18 insertions(+), 30 deletions(-) diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst index 1a2f0cbc97..4c0552c5e3 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst @@ -1,2 +1,4 @@ The Flutter SDK logger conforms to the `Dart Logger class `__. + +To get started, set a log level: diff --git a/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst index e69de29bb2..6fb1fc7416 100644 --- a/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst +++ b/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst @@ -0,0 +1,7 @@ +To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() +`. This method recieves ``level`` and +``message`` arguments from the database logger. You can use these arguments to +define your own logging behavior. + +This sets the logging behavior for all database logging in your application. If +you do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst index 6fb1fc7416..a60a16983b 100644 --- a/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst @@ -1,7 +1 @@ -To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() -`. This method recieves ``level`` and -``message`` arguments from the database logger. You can use these arguments to -define your own logging behavior. - -This sets the logging behavior for all database logging in your application. If -you do not provide a log level, the default value is "info". +To get started, set a log level: diff --git a/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst b/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst index 4f4942fb01..2d97486cb5 100644 --- a/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/javascript/logger/logging-set-change-level-description.rst @@ -1,16 +1,6 @@ To set the level of detail reported by the Node.js SDK pass a valid level to -:js-sdk:`Realm.setLogLevel() `. Valid values -are: - -- "all" -- "trace" -- "debug" -- "detail" -- "info" -- "warn" -- "error" -- "fatal" -- "off" +:js-sdk:`Realm.setLogLevel() `. Refer to +:js-sdk:`LogLevel ` for all valid values. .. note:: Performance and console.log() diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst index 6ea387cd89..726dd9301e 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst @@ -23,7 +23,7 @@ - id: javascript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.js + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js :language: javascript :copyable: false @@ -42,6 +42,6 @@ - id: typescript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts :language: typescript :copyable: false diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst index 166e21c57c..5288636f10 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst @@ -22,7 +22,7 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts :language: javascript - id: kotlin @@ -40,5 +40,5 @@ - id: typescript content: | - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts :language: typescript diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 8e7a549c7b..c431b818f5 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -30,6 +30,7 @@ amounts of data depending on your development needs. You can specify different log levels or custom loggers. .. warning:: Java SDK Logging Support + The Java SDK does not support the same logging API as the other SDKs. Instead, it uses a deprecated sync logger. Refer to the Java SDK: Deprecated Sync Logger section on this page for more details. @@ -143,8 +144,7 @@ debugging. .. include:: /includes/sdk-examples/logger/logging-set-custom-logger-example.rst -After setting a custom logger, you should also initialize the logger and and set -it as the default logger for your database. +After setting a custom logger, you may need to initialize the logger. .. tabs-drivers:: @@ -201,11 +201,6 @@ You can turn off logging by setting the log level: .. include:: /includes/sdk-examples/logger/logging-turn-off-example.rst -.. note:: Flutter SDK Isolates and Logging Behavior - - For the Flutter SDK, if you turn off logging from the first isolate, this - stops the default printing logger. - Java SDK: Deprecated Sync Logger -------------------------------- From f8a308c15d094e920980df4401beddece0292189 Mon Sep 17 00:00:00 2001 From: Kyle Rollins <115574589+krollins-mdb@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:04:33 -0500 Subject: [PATCH 23/35] Apply suggestions from code review Co-authored-by: Dachary --- .../swift/logger/logging-set-change-level-description.rst | 2 +- source/sdk/test-and-debug/log.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst index 07c528b199..dfddf24d19 100644 --- a/source/includes/api-details/swift/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/swift/logger/logging-set-change-level-description.rst @@ -4,7 +4,7 @@ enum represents the different levels of logging you can configure. .. tip:: Set the Logger Before Initializing an App Client - When you initialize an :ref:`App client `, the Swift SDK + When you initialize an :ref:`App client `, the Swift SDK caches the configuration for the App. Changing to the App configuration after initialization does not have any effect. This includes setting a logger. Initializing an App reads the current shared logger and stores that. diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index c431b818f5..348f5fcb69 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -6,7 +6,7 @@ Logging .. meta:: :description: Use logging to debug your Atlas Device SDK app. - :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, Node.js SDK, Swift SDK, code example + :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, .NET SDK, Node.js SDK, Swift SDK, code example .. facet:: :name: genre @@ -14,7 +14,7 @@ Logging .. facet:: :name: programming_language - :values: cpp, csharp, dart, java, javascript/typescript, kotlin, objective-c, swift + :values: cpp, csharp, dart, java, javascript/typescript, kotlin, swift .. contents:: On this page :local: From a827d542de524644d2c818c4ae3abdb05ec90bcc Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 13:01:06 -0500 Subject: [PATCH 24/35] Implement feeback. In particular, combine deprecated logger sections. --- ...logging-customize-logger-description-2.rst | 0 ...logging-customize-logger-description-2.rst | 0 .../logging-set-change-level-description.rst | 2 - source/sdk/atlas/connect.txt | 1 - source/sdk/test-and-debug/log.txt | 65 +++++++++---------- .../connect-to-app-services-backend.txt | 1 + 6 files changed, 32 insertions(+), 37 deletions(-) delete mode 100644 source/includes/api-details/cpp/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/csharp/logger/logging-customize-logger-description-2.rst diff --git a/source/includes/api-details/cpp/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/cpp/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/csharp/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/csharp/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst index ca23ed03bc..87318cf022 100644 --- a/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/kotlin/logger/logging-set-change-level-description.rst @@ -12,5 +12,3 @@ By default, all logs go to a default system logger that varies by system: - JVM logs to stdout. - MacOS logs to NSLog. - iOS logs to NSLog. - -.. include:: /includes/tip-sync-log-levels.rst diff --git a/source/sdk/atlas/connect.txt b/source/sdk/atlas/connect.txt index 7d3138f155..48d846836d 100644 --- a/source/sdk/atlas/connect.txt +++ b/source/sdk/atlas/connect.txt @@ -1,4 +1,3 @@ -.. _ios-init-appclient: .. _sdks-connect-to-atlas: ================ diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 348f5fcb69..b39c694eca 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -151,13 +151,9 @@ After setting a custom logger, you may need to initialize the logger. .. tab:: :tabid: cpp - .. include:: /includes/api-details/cpp/logger/logging-customize-logger-description-2.rst - .. tab:: :tabid: csharp - .. include:: /includes/api-details/csharp/logger/logging-customize-logger-description-2.rst - .. tab:: :tabid: dart @@ -201,43 +197,44 @@ You can turn off logging by setting the log level: .. include:: /includes/sdk-examples/logger/logging-turn-off-example.rst -Java SDK: Deprecated Sync Logger --------------------------------- +Other Loggers +------------- -The Java SDK's only logger is a deprecated sync logger that behaves differently -than the rest of the examples on this page. You can -view these events using :android:`Logcat `. +.. tabs-drivers:: -To access newer logging features, like creating custom loggers, use the Kotlin -SDK. + .. tab:: + :tabid: cpp -The Java SDK uses the log levels defined by `Log4J -`_. -To configure the log level for database logs in your application, pass a -:java-sdk:`LogLevel ` to -:java-sdk:`RealmLog.setLevel() `: + The C++ SDK uses a sync logger that behaves differently than the rest of + the examples on this page. You can set or change your sync client's log + level to develop or debug your application. You might want to change the + log level to log different amounts of data depending on the app's + environment. -.. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java + You can set the level of detail reported by the sync client logger to + specify the level of output you want from the sync client. Get + :cpp-sdk:`an instance of an App's sync manager + `, + and pass a :cpp-sdk:`realm::logger::level ` + to the ``set_log_level()`` member function: -C++ SDK: Deprecated Sync Logger --------------------------------- + .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp + :language: cpp -The C++ SDK uses a sync logger that behaves differently than the rest of the -examples on this page. You can set or change your sync client's log level to -develop or debug your application. You might want to change the log level to log different -amounts of data depending on the app's environment. + .. tab:: + :tabid: java -.. _cpp-set-the-client-log-level: + The Java SDK uses an older Logger that may not behave like the other SDKs. + The SDK logs events to the Android system log automatically. You can + view these events using :android:`Logcat `. -Set the Sync Client Log Level -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + To access newer logging features, use the Kotlin SDK. -You can set the level of detail reported by the sync client logger to -specify the level of output you want from the sync client. Get -:cpp-sdk:`an instance of an App's sync manager `, -and pass a :cpp-sdk:`realm::logger::level ` -to the ``set_log_level()`` member function: + The Java SDK uses the log levels defined by `Log4J + `_. + To configure the log level for database logs in your application, pass a + :java-sdk:`LogLevel ` to + :java-sdk:`RealmLog.setLevel() `: -.. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp - :language: cpp + .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java diff --git a/temp/swift/app-services/connect-to-app-services-backend.txt b/temp/swift/app-services/connect-to-app-services-backend.txt index 4bda9b7f3a..019fb8ac7b 100644 --- a/temp/swift/app-services/connect-to-app-services-backend.txt +++ b/temp/swift/app-services/connect-to-app-services-backend.txt @@ -1,3 +1,4 @@ +.. _ios-init-appclient: .. _ios-connect-to-a-mongodb-realm-backend-app: ==================================================== From b18b8b9dd033570bafca3f4e613788ca7b103f2f Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 15:59:52 -0500 Subject: [PATCH 25/35] Implement feedback: combine tab groups --- .../logging-customize-logger-description.rst | 6 +++ .../logging-customize-logger-description.rst | 11 +++++ .../logging-customize-logger-description.rst | 9 ++++ .../logging-customize-logger-description.rst | 6 +++ .../logging-set-custom-logger-example.rst | 17 ++++--- source/sdk/test-and-debug/log.txt | 44 +------------------ 6 files changed, 43 insertions(+), 50 deletions(-) diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst index 4c0552c5e3..0f9c1c8545 100644 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/dart/logger/logging-customize-logger-description.rst @@ -2,3 +2,9 @@ The Flutter SDK logger conforms to the `Dart Logger class `__. To get started, set a log level: + +.. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart + :language: dart + +Define custom logging behavior by listening to :flutter-sdk:`Realm.logger.onRecord +`: diff --git a/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst index a60a16983b..b0445f306d 100644 --- a/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/javascript/logger/logging-customize-logger-description.rst @@ -1 +1,12 @@ To get started, set a log level: + +.. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts + :language: javascript + +To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() +`. This method recieves ``level`` and +``message`` arguments from the database logger. You can use these arguments to +define your own logging behavior. + +This sets the logging behavior for all database logging in your application. If +you do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst index 2aebd33560..358d251923 100644 --- a/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/kotlin/logger/logging-customize-logger-description.rst @@ -1,2 +1,11 @@ The Kotlin SDK implements the :kotlin-sdk:`RealmLogger <-realm-logger/index.html>` interface for custom loggers. + +.. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt + :language: kotlin + +In the Kotlin SDK, use :kotlin-sdk:`RealmLog.add() <-realm-log/add.html>` +to set your custom logger as a logger for your app. + +You can also remove a specific logger or remove all loggers, including the +system logger. diff --git a/source/includes/api-details/swift/logger/logging-customize-logger-description.rst b/source/includes/api-details/swift/logger/logging-customize-logger-description.rst index e16202535d..55d34edad2 100644 --- a/source/includes/api-details/swift/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/swift/logger/logging-customize-logger-description.rst @@ -1,3 +1,9 @@ In the Swift SDK, initialize an instance of a :swift-sdk:`Logger ` and define the function to use for logging. + +.. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift + :language: swift + +In the Swift SDK, use ``Logger.shared``. After you set the default logger, you +can change the log level during the app lifecycle as needed. diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst index 5288636f10..726dd9301e 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst @@ -4,41 +4,44 @@ - id: cpp content: | - .. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp + .. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp :language: cpp - id: csharp content: | - .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-the-log-level.dart + .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart :language: dart - id: javascript content: | - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js :language: javascript + :copyable: false - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.define-custom-logger.kt + .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt :language: kotlin - id: swift content: | - .. literalinclude:: /examples/generated/code/start/Logging.snippet.define-custom-logger.swift + .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-default-logger.swift :language: swift - id: typescript content: | - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-log-level.ts + .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts :language: typescript + :copyable: false diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index b39c694eca..b2b3740dd9 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -35,7 +35,7 @@ different log levels or custom loggers. Instead, it uses a deprecated sync logger. Refer to the Java SDK: Deprecated Sync Logger section on this page for more details. -.. sdks-set-the-client-log-level: +.. _sdks-set-the-client-log-level: Set or Change the Log Level --------------------------- @@ -144,48 +144,6 @@ debugging. .. include:: /includes/sdk-examples/logger/logging-set-custom-logger-example.rst -After setting a custom logger, you may need to initialize the logger. - -.. tabs-drivers:: - - .. tab:: - :tabid: cpp - - .. tab:: - :tabid: csharp - - .. tab:: - :tabid: dart - - .. include:: /includes/api-details/dart/logger/logging-customize-logger-description-2.rst - - .. tab:: - :tabid: kotlin - - .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst - - .. tab:: - :tabid: javascript - - .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description-2.rst - - .. tab:: - :tabid: kotlin - - .. include:: /includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst - - .. tab:: - :tabid: swift - - .. include:: /includes/api-details/swift/logger/logging-customize-logger-description-2.rst - - .. tab:: - :tabid: typescript - - .. include:: /includes/api-details/javascript/logger/logging-customize-logger-description-2.rst - -.. include:: /includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst - .. include:: /includes/tip-sync-log-levels.rst .. _sdks-turn-off-logging: From 92eb6ef0171d020d2fc4ba3a0b632b5874607823 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 16:07:31 -0500 Subject: [PATCH 26/35] Fix a couple issues --- .../cpp/logger/logging-customize-logger-description.rst | 3 +++ .../sdk-examples/logger/logging-set-custom-logger-example.rst | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst b/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst index d950936c87..3da0cd7295 100644 --- a/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst @@ -1,3 +1,6 @@ To set a custom logger function with the C++ SDK, create a :cpp-sdk:`realm::logger ` and override the virtual ``do_log()`` member function. + +.. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp + :language: cpp diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst index 726dd9301e..799abb76ad 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst @@ -10,9 +10,8 @@ - id: csharp content: | - .. literalinclude:: /examples/MissingPlaceholders/example.cs + .. literalinclude:: /examples/generated/dotnet/ErrorHandler.snippet.customize-logging-function.cs :language: csharp - :copyable: false - id: dart content: | @@ -45,3 +44,4 @@ .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts :language: typescript :copyable: false + From 540377116a41c198866040941f54ba84d3526869 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 16:12:41 -0500 Subject: [PATCH 27/35] Clean up --- .../logging-customize-logger-description.rst | 2 + ...logging-customize-logger-description-2.rst | 2 - ...logging-customize-logger-description-2.rst | 7 --- ...logging-customize-logger-description-2.rst | 5 -- ...logging-customize-logger-description-2.rst | 2 - .../logging-set-custom-logger-example-2.rst | 47 ------------------- 6 files changed, 2 insertions(+), 63 deletions(-) delete mode 100644 source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst delete mode 100644 source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst diff --git a/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst b/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst index 3da0cd7295..00c65d780a 100644 --- a/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst +++ b/source/includes/api-details/cpp/logger/logging-customize-logger-description.rst @@ -4,3 +4,5 @@ and override the virtual ``do_log()`` member function. .. literalinclude:: /examples/generated/cpp/logger.snippet.create-custom-logger.cpp :language: cpp + +After setting a custom logger, you need to initialize it: diff --git a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index babb9070e2..0000000000 --- a/source/includes/api-details/dart/logger/logging-customize-logger-description-2.rst +++ /dev/null @@ -1,2 +0,0 @@ -Define custom logging behavior by listening to :flutter-sdk:`Realm.logger.onRecord -`: diff --git a/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index 6fb1fc7416..0000000000 --- a/source/includes/api-details/javascript/logger/logging-customize-logger-description-2.rst +++ /dev/null @@ -1,7 +0,0 @@ -To set a custom logger with the Node.js SDK, call :js-sdk:`setLogger() -`. This method recieves ``level`` and -``message`` arguments from the database logger. You can use these arguments to -define your own logging behavior. - -This sets the logging behavior for all database logging in your application. If -you do not provide a log level, the default value is "info". diff --git a/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index 18cc187d90..0000000000 --- a/source/includes/api-details/kotlin/logger/logging-customize-logger-description-2.rst +++ /dev/null @@ -1,5 +0,0 @@ -In the Kotlin SDK, use :kotlin-sdk:`RealmLog.add() <-realm-log/add.html>` -to set your custom logger as a logger for your app. - -You can also remove a specific logger or remove all loggers, including the -system logger. diff --git a/source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst b/source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst deleted file mode 100644 index 871c62563a..0000000000 --- a/source/includes/api-details/swift/logger/logging-customize-logger-description-2.rst +++ /dev/null @@ -1,2 +0,0 @@ -In the Swift SDK, use ``Logger.shared``. After you set the default logger, you -can change the log level during the app lifecycle as needed. diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst deleted file mode 100644 index 726dd9301e..0000000000 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example-2.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. tabs-drivers:: - - tabs: - - id: cpp - content: | - - .. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp - :language: cpp - - - id: csharp - content: | - - .. literalinclude:: /examples/MissingPlaceholders/example.cs - :language: csharp - :copyable: false - - - id: dart - content: | - - .. literalinclude:: /examples/generated/flutter/logger.snippet.set-custom-logger.dart - :language: dart - - - id: javascript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.js - :language: javascript - :copyable: false - - - id: kotlin - content: | - - .. literalinclude:: /examples/generated/kotlin/SyncTest.snippet.set-custom-realmlog-logger.kt - :language: kotlin - - - id: swift - content: | - - .. literalinclude:: /examples/generated/code/start/Logging.snippet.set-default-logger.swift - :language: swift - - - id: typescript - content: | - - .. literalinclude:: /examples/generated/node/v12/logger.test.snippet.set-custom-logger.ts - :language: typescript - :copyable: false From 6085112787feb7091b06522543575e34d172b1e8 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 16:36:00 -0500 Subject: [PATCH 28/35] Fix other loggers tabs --- source/sdk/test-and-debug/log.txt | 73 ++++++++++++++++--------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index b2b3740dd9..9c06874798 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -160,39 +160,40 @@ Other Loggers .. tabs-drivers:: - .. tab:: - :tabid: cpp - - The C++ SDK uses a sync logger that behaves differently than the rest of - the examples on this page. You can set or change your sync client's log - level to develop or debug your application. You might want to change the - log level to log different amounts of data depending on the app's - environment. - - You can set the level of detail reported by the sync client logger to - specify the level of output you want from the sync client. Get - :cpp-sdk:`an instance of an App's sync manager - `, - and pass a :cpp-sdk:`realm::logger::level ` - to the ``set_log_level()`` member function: - - .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp - :language: cpp - - .. tab:: - :tabid: java - - The Java SDK uses an older Logger that may not behave like the other SDKs. - The SDK logs events to the Android system log automatically. You can - view these events using :android:`Logcat `. - - To access newer logging features, use the Kotlin SDK. - - The Java SDK uses the log levels defined by `Log4J - `_. - To configure the log level for database logs in your application, pass a - :java-sdk:`LogLevel ` to - :java-sdk:`RealmLog.setLevel() `: - - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java + tabs: + - id: cpp + content: | + + The C++ SDK uses a sync logger that behaves differently than the rest of + the examples on this page. You can set or change your sync client's log + level to develop or debug your application. You might want to change the + log level to log different amounts of data depending on the app's + environment. + + You can set the level of detail reported by the sync client logger to + specify the level of output you want from the sync client. Get + :cpp-sdk:`an instance of an App's sync manager + `, + and pass a :cpp-sdk:`realm::logger::level ` + to the ``set_log_level()`` member function: + + .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp + :language: cpp + + - id: java + content: | + + The Java SDK uses an older Logger that may not behave like the other SDKs. + The SDK logs events to the Android system log automatically. You can + view these events using :android:`Logcat `. + + To access newer logging features, use the Kotlin SDK. + + The Java SDK uses the log levels defined by `Log4J + `_. + To configure the log level for database logs in your application, pass a + :java-sdk:`LogLevel ` to + :java-sdk:`RealmLog.setLevel() `: + + .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java From 80d32460f24b918575e9769ca85266965be46c35 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 10 Jun 2024 16:40:33 -0500 Subject: [PATCH 29/35] Fix a link --- .../dart/logger/logging-set-change-level-description.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst index ff4bfff962..cfd56d52e5 100644 --- a/source/includes/api-details/dart/logger/logging-set-change-level-description.rst +++ b/source/includes/api-details/dart/logger/logging-set-change-level-description.rst @@ -1,4 +1,4 @@ In the Flutter SDK, you can set the level of detail in different parts of your app. To configure the log level, pass a valid :flutter-sdk:`LogLevel ` value to -:flutter-sdk:`setLogLevel `. +:flutter-sdk:`setLogLevel `. From cc508292aa94f0d52003d9377d088680483434df Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 17 Jun 2024 12:48:57 -0500 Subject: [PATCH 30/35] Adjust other loggers tab set --- source/sdk/test-and-debug/log.txt | 73 +++++++++++++++---------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 9c06874798..5cf1c213ce 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -160,40 +160,39 @@ Other Loggers .. tabs-drivers:: - tabs: - - id: cpp - content: | - - The C++ SDK uses a sync logger that behaves differently than the rest of - the examples on this page. You can set or change your sync client's log - level to develop or debug your application. You might want to change the - log level to log different amounts of data depending on the app's - environment. - - You can set the level of detail reported by the sync client logger to - specify the level of output you want from the sync client. Get - :cpp-sdk:`an instance of an App's sync manager - `, - and pass a :cpp-sdk:`realm::logger::level ` - to the ``set_log_level()`` member function: - - .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp - :language: cpp - - - id: java - content: | - - The Java SDK uses an older Logger that may not behave like the other SDKs. - The SDK logs events to the Android system log automatically. You can - view these events using :android:`Logcat `. - - To access newer logging features, use the Kotlin SDK. - - The Java SDK uses the log levels defined by `Log4J - `_. - To configure the log level for database logs in your application, pass a - :java-sdk:`LogLevel ` to - :java-sdk:`RealmLog.setLevel() `: - - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java + .. tab:: + :tabid: cpp + + The C++ SDK uses a sync logger that behaves differently than the rest of + the examples on this page. You can set or change your sync client's log + level to develop or debug your application. You might want to change the + log level to log different amounts of data depending on the app's + environment. + + You can set the level of detail reported by the sync client logger to + specify the level of output you want from the sync client. Get + :cpp-sdk:`an instance of an App's sync manager + `, + and pass a :cpp-sdk:`realm::logger::level ` + to the ``set_log_level()`` member function: + + .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp + :language: cpp + + .. tab:: + :tabid: csharp + + The Java SDK uses an older Logger that may not behave like the other SDKs. + The SDK logs events to the Android system log automatically. You can + view these events using :android:`Logcat `. + + To access newer logging features, use the Kotlin SDK. + + The Java SDK uses the log levels defined by `Log4J + `_. + To configure the log level for database logs in your application, pass a + :java-sdk:`LogLevel ` to + :java-sdk:`RealmLog.setLevel() `: + + .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java \ No newline at end of file From 3fc7eefd024eda7593ef99e765a3265bfb3c2a2d Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 17 Jun 2024 13:04:15 -0500 Subject: [PATCH 31/35] Try to fix tab set again --- source/sdk/test-and-debug/log.txt | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5cf1c213ce..5d3034d812 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -179,6 +179,15 @@ Other Loggers .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp :language: cpp + .. tab:: + :tabid: csharp + + .. tab:: + :tabid: dart + + .. tab:: + :tabid: kotlin + .. tab:: :tabid: csharp @@ -195,4 +204,16 @@ Other Loggers :java-sdk:`RealmLog.setLevel() `: .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java \ No newline at end of file + :language: java + + .. tab:: + :tabid: javascript + + .. tab:: + :tabid: kotlin + + .. tab:: + :tabid: swift + + .. tab:: + :tabid: typescript From 7ee8fabbd9b2c8505947ebd95710057e564b93d3 Mon Sep 17 00:00:00 2001 From: Kyle Rollins <115574589+krollins-mdb@users.noreply.github.com> Date: Mon, 24 Jun 2024 19:36:16 -0500 Subject: [PATCH 32/35] Apply suggestions from code review Co-authored-by: Dachary --- .../logger/logging-set-change-level-example-2.rst | 2 +- .../logger/logging-set-change-level-example.rst | 2 +- .../logger/logging-set-custom-logger-example.rst | 2 +- .../sdk-examples/logger/logging-turn-off-example.rst | 2 +- source/sdk/test-and-debug/log.txt | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst b/source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst index 2c919d2747..b18ef5c0c0 100644 --- a/source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst +++ b/source/includes/sdk-examples/logger/logging-set-change-level-example-2.rst @@ -1,7 +1,7 @@ .. tabs-drivers:: tabs: - - id: cpp + - id: cpp-sdk content: | .. literalinclude:: /examples/MissingPlaceholders/example.cpp diff --git a/source/includes/sdk-examples/logger/logging-set-change-level-example.rst b/source/includes/sdk-examples/logger/logging-set-change-level-example.rst index 154cc06f4b..b1fa858264 100644 --- a/source/includes/sdk-examples/logger/logging-set-change-level-example.rst +++ b/source/includes/sdk-examples/logger/logging-set-change-level-example.rst @@ -1,7 +1,7 @@ .. tabs-drivers:: tabs: - - id: cpp + - id: cpp-sdk content: | .. literalinclude:: /examples/generated/cpp/logger.snippet.set-default-log-level.cpp diff --git a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst index 799abb76ad..144313deb9 100644 --- a/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst +++ b/source/includes/sdk-examples/logger/logging-set-custom-logger-example.rst @@ -1,7 +1,7 @@ .. tabs-drivers:: tabs: - - id: cpp + - id: cpp-sdk content: | .. literalinclude:: /examples/generated/cpp/logger.snippet.initialize-logger.cpp diff --git a/source/includes/sdk-examples/logger/logging-turn-off-example.rst b/source/includes/sdk-examples/logger/logging-turn-off-example.rst index 8e4104d2c5..284c492469 100644 --- a/source/includes/sdk-examples/logger/logging-turn-off-example.rst +++ b/source/includes/sdk-examples/logger/logging-turn-off-example.rst @@ -1,7 +1,7 @@ .. tabs-drivers:: tabs: - - id: cpp + - id: cpp-sdk content: | .. literalinclude:: /examples/MissingPlaceholders/example.cpp diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5d3034d812..b2dbe2edb9 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -45,7 +45,7 @@ You can set the level of detail reported by Atlas Device SDK. .. tabs-drivers:: .. tab:: - :tabid: cpp + :tabid: cpp-sdk .. include:: /includes/api-details/cpp/logger/logging-set-change-level-description.rst @@ -103,7 +103,7 @@ debugging. .. tabs-drivers:: .. tab:: - :tabid: cpp + :tabid: cpp-sdk .. include:: /includes/api-details/cpp/logger/logging-customize-logger-description.rst @@ -161,7 +161,7 @@ Other Loggers .. tabs-drivers:: .. tab:: - :tabid: cpp + :tabid: cpp-sdk The C++ SDK uses a sync logger that behaves differently than the rest of the examples on this page. You can set or change your sync client's log From 9db146d4fd191419cafd9a7f257a16d2006f5137 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 24 Jun 2024 19:43:22 -0500 Subject: [PATCH 33/35] Remove "other loggers" tab set --- source/sdk/test-and-debug/log.txt | 79 ++++++++++++------------------- 1 file changed, 29 insertions(+), 50 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index b2dbe2edb9..be54beb041 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -158,62 +158,41 @@ You can turn off logging by setting the log level: Other Loggers ------------- -.. tabs-drivers:: - - .. tab:: - :tabid: cpp-sdk - - The C++ SDK uses a sync logger that behaves differently than the rest of - the examples on this page. You can set or change your sync client's log - level to develop or debug your application. You might want to change the - log level to log different amounts of data depending on the app's - environment. - - You can set the level of detail reported by the sync client logger to - specify the level of output you want from the sync client. Get - :cpp-sdk:`an instance of an App's sync manager - `, - and pass a :cpp-sdk:`realm::logger::level ` - to the ``set_log_level()`` member function: - - .. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp - :language: cpp - - .. tab:: - :tabid: csharp - - .. tab:: - :tabid: dart +The C++ and Java SDKs have additional Loggers that behave differently. - .. tab:: - :tabid: kotlin +C++ SDK +~~~~~~~ - .. tab:: - :tabid: csharp +The C++ SDK uses a sync logger that behaves differently than the rest of +the examples on this page. You can set or change your sync client's log +level to develop or debug your application. You might want to change the +log level to log different amounts of data depending on the app's +environment. - The Java SDK uses an older Logger that may not behave like the other SDKs. - The SDK logs events to the Android system log automatically. You can - view these events using :android:`Logcat `. +You can set the level of detail reported by the sync client logger to +specify the level of output you want from the sync client. Get +:cpp-sdk:`an instance of an App's sync manager +`, +and pass a :cpp-sdk:`realm::logger::level ` +to the ``set_log_level()`` member function: - To access newer logging features, use the Kotlin SDK. +.. literalinclude:: /examples/generated/cpp/quick-start.snippet.set-sync-log-level.cpp + :language: cpp - The Java SDK uses the log levels defined by `Log4J - `_. - To configure the log level for database logs in your application, pass a - :java-sdk:`LogLevel ` to - :java-sdk:`RealmLog.setLevel() `: +Java SDK +~~~~~~~~ - .. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java - :language: java +The Java SDK uses an older Logger that may not behave like the other SDKs. +The SDK logs events to the Android system log automatically. You can +view these events using :android:`Logcat `. - .. tab:: - :tabid: javascript +To access newer logging features, use the Kotlin SDK. - .. tab:: - :tabid: kotlin - - .. tab:: - :tabid: swift +The Java SDK uses the log levels defined by `Log4J +`_. +To configure the log level for database logs in your application, pass a +:java-sdk:`LogLevel ` to +:java-sdk:`RealmLog.setLevel() `: - .. tab:: - :tabid: typescript +.. literalinclude:: /examples/generated/java/sync/SyncDataTest.snippet.set-client-log-level.java + :language: java From 8385379d1b5775710e9f54ec4d1023866b675176 Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Mon, 24 Jun 2024 19:46:06 -0500 Subject: [PATCH 34/35] Remove errant capital L --- source/sdk/test-and-debug/log.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index be54beb041..5c71e30cd2 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -158,7 +158,7 @@ You can turn off logging by setting the log level: Other Loggers ------------- -The C++ and Java SDKs have additional Loggers that behave differently. +The C++ and Java SDKs have additional loggers that behave differently. C++ SDK ~~~~~~~ From d9296e5b376ea6f2e287afb39d1cc1ea934b790c Mon Sep 17 00:00:00 2001 From: krollins-mdb Date: Tue, 25 Jun 2024 13:56:01 -0500 Subject: [PATCH 35/35] - remove warning about Java SDK - reframe Java SDK content a bit --- source/sdk/test-and-debug/log.txt | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/source/sdk/test-and-debug/log.txt b/source/sdk/test-and-debug/log.txt index 5c71e30cd2..b8d16be8ea 100644 --- a/source/sdk/test-and-debug/log.txt +++ b/source/sdk/test-and-debug/log.txt @@ -29,12 +29,6 @@ your app. You might want to change the log level to log different amounts of data depending on your development needs. You can specify different log levels or custom loggers. -.. warning:: Java SDK Logging Support - - The Java SDK does not support the same logging API as the other SDKs. - Instead, it uses a deprecated sync logger. Refer to the Java SDK: Deprecated - Sync Logger section on this page for more details. - .. _sdks-set-the-client-log-level: Set or Change the Log Level @@ -158,7 +152,8 @@ You can turn off logging by setting the log level: Other Loggers ------------- -The C++ and Java SDKs have additional loggers that behave differently. +The C++ and Java SDKs have additional loggers that behave differently than the +other examples on this page. C++ SDK ~~~~~~~ @@ -182,11 +177,11 @@ to the ``set_log_level()`` member function: Java SDK ~~~~~~~~ -The Java SDK uses an older Logger that may not behave like the other SDKs. The SDK logs events to the Android system log automatically. You can view these events using :android:`Logcat `. -To access newer logging features, use the Kotlin SDK. +We recommend using the Kotlin SDK to get the latest logging updates, like +changing the log level at different points in your code. The Java SDK uses the log levels defined by `Log4J `_.