logstash


License

License

MIT
Categories

Categories

Logstash Application Layer Libs Logging
GroupId

GroupId

com.logstruck
ArtifactId

ArtifactId

logstruck-logstash_2.11
Last Version

Last Version

0.6
Release Date

Release Date

Type

Type

jar
Description

Description

logstash
logstash
Project Organization

Project Organization

com.logstruck
Source Code Management

Source Code Management

https://github.com/ofrasergreen/logstruck

Download logstruck-logstash_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/com.logstruck/logstruck-logstash_2.11/ -->
<dependency>
    <groupId>com.logstruck</groupId>
    <artifactId>logstruck-logstash_2.11</artifactId>
    <version>0.6</version>
</dependency>
// https://jarcasting.com/artifacts/com.logstruck/logstruck-logstash_2.11/
implementation 'com.logstruck:logstruck-logstash_2.11:0.6'
// https://jarcasting.com/artifacts/com.logstruck/logstruck-logstash_2.11/
implementation ("com.logstruck:logstruck-logstash_2.11:0.6")
'com.logstruck:logstruck-logstash_2.11:jar:0.6'
<dependency org="com.logstruck" name="logstruck-logstash_2.11" rev="0.6">
  <artifact name="logstruck-logstash_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.logstruck', module='logstruck-logstash_2.11', version='0.6')
)
libraryDependencies += "com.logstruck" % "logstruck-logstash_2.11" % "0.6"
[com.logstruck/logstruck-logstash_2.11 "0.6"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.7
com.logstruck : logstruck-logger_2.11 jar 0.6
org.scala-lang : scala-reflect jar 2.11.7

test (2)

Group / Artifact Type Version
org.scalatest : scalatest_2.11 jar 2.2.5
org.scalacheck : scalacheck_2.11 jar 1.12.4

Project Modules

There are no modules declared in this project.
def meaningOfLife(logger: Logger) = {
  ...
  log.info("Answer calculated.", result, duration)
  ...
}

One might normally have done something like log.info(s"Answer calculated in $duration: $result")? Because if you have a lot of logs and you're using a more powerful logging backend than a file and grep then you

Configuration

Configuration is done in code.

Top-level fields pass in at initialization e.g.

val log = new Logger(params=Map("service" -> "myService"))

Output

Default output:

  • message
  • context - e.g. aW52.br13.chVc
  • data
    • other
    • ...
  • logLevel
  • source
    • file
    • line
    • class

Extras

FluentD

Text (stdout/err or file)

HTTP Manager

Listen on port xyz for configuration messages e.g. to change log-level

Other points

  • not compatible with SL4J

Todo

  • place filters inside output

Versions

Version
0.6