Skip to content

[Logs] How do I get a simplified logger result? #1746

Description

@MateuszMiekicki

Hi. I managed to read the examples, I also found a LogHandler, but it doesn't match the result of the LoggerProvider. Generallyi I would like to keep the fields from the "complex" logger, but at the same time I need the file name and the line. Can I get this somehow?

#include "opentelemetry/exporters/ostream/log_record_exporter.h"
#include "opentelemetry/logs/provider.h"
#include "opentelemetry/sdk/logs/logger_provider.h"
#include "opentelemetry/sdk/logs/simple_log_record_processor.h"
#include <memory>
namespace logs  = opentelemetry::logs;
namespace sdklogs      = opentelemetry::sdk::logs;
namespace logs_api     = opentelemetry::logs;
namespace exporterlogs = opentelemetry::exporter::logs;

int main()
{
  auto exporter = std::unique_ptr<sdklogs::LogRecordExporter>(new exporterlogs::OStreamLogExporter(std::cout));
  auto sdkProvider = std::shared_ptr<sdklogs::LoggerProvider>(new sdklogs::LoggerProvider());
  sdkProvider->AddProcessor(std::unique_ptr<sdklogs::LogRecordProcessor>(
      new sdklogs::SimpleLogProcessor(std::move(exporter))));
  auto apiProvider = std::shared_ptr<logs_api::LoggerProvider>(sdkProvider);
  auto provider    = std::shared_ptr<logs_api::LoggerProvider>(apiProvider);
    auto logger = provider->GetLogger("firstlog", "", "my lib", "12.32.2");
  logger->Debug("I am the first log message.");
}

I have something like this. It is also possible that I don't understand the premise of this logger, then I would ask for a reference to the documentation. Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions