Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Standardize Flint log output format #235

Closed
dai-chen opened this issue Jan 24, 2024 · 3 comments
Closed

[FEATURE] Standardize Flint log output format #235

dai-chen opened this issue Jan 24, 2024 · 3 comments
Labels
0.3 maintenance Code refactoring

Comments

@dai-chen
Copy link
Collaborator

Is your feature request related to a problem?

Currently, Flint log line follows the Spark logging format which includes timestamp, log level and message etc. However, it's difficult to filter out Flint log associated with a specific Flint index or OpenSearch domain.

What solution would you like?

Add Flint index name or other context information useful for tracing operations in timeline.

@noCharger
Copy link
Collaborator

Another refactoring: we can consolidate error messages into a single file to improve maintenance.

@noCharger
Copy link
Collaborator

  • Emrs does not support custom log files, only the defaults (driver.log, executor.log, etc.).
  • We can modify the log format, but it applies to all logs.
  • We can customize the log message fields, which some message can be ignored by Alpine rules, but the rule itself is a filter, so there is not much difference.
  • The format will look like this:
{
  "type":"custom",
  "body":
    {
    "timestamp"
    "message": "",
    "domain Name": "",
    "clientId": "",
    "StatusCode"
    "Exception": "",
    "Exception message": 
    }
}

@noCharger
Copy link
Collaborator

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/spark/jars/log4j-slf4j-impl-2.17.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]

Need to decouple from SLF4J to use Log4j

object FlintREPL extends Logging with FlintJobExecutor
  1. User jsonLayout, the actual json in boundled in message field
  2. User patternLayout, it's a string in json format but not an actual json object
  3. Open source SLF4j lib, it's an extra dependency and does not support global context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.3 maintenance Code refactoring
Development

No branches or pull requests

2 participants