https://github.com/fhooeaist/seshat

Logging Framework

https://github.com/fhooeaist/seshat

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary

Keywords

logger logging
Last synced: 4 months ago · JSON representation

Repository

Logging Framework

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 2
  • Releases: 0
Topics
logger logging
Created over 5 years ago · Last pushed over 3 years ago
Metadata Files
Readme License

README.md

SESHAT

javadoc Maven Central GitHub release License: MPL 2.0 FOSSA Status

Seshat is a logging framework with the following core considerations:

  • High performance / low overhead for logging
  • Providing a uniform interface enabling dynamic interchange of existing logger frameworks

Getting Started

The base module is the api- module which has to be included wherever the logger wants to be used. All other modules contain a factory as well a specific logger, that are loaded during runtime. This means, that at compile-time only the api module needs to be present.

To use it via Maven you have to include the api dependency.

xml <dependency> <groupId>science.aist.seshat</groupId> <artifactId>api</artifactId> <version>${seshat.version}</version> <scope>compile</scope> <!-- Note: this is default --> </dependency>

Then you are able to use the Logger in the following way:

```java Logger logger = Logger.getInstance(MyClass.class);

// Use the logger logger.debug("I am a debugging message"); ```

The get instance methods then scans the call path and tries to locate a LoggerFactory that implements the AbstractLoggerFactory class. This factory is used to create the logger instances. You can add different loggers by adding them as a dependency.

e.g. xml <dependency> <groupId>science.aist.seshat</groupId> <artifactId>log4j2</artifactId> <version>${seshat.version}</version> <scope>runtime</scope> </dependency>

Please make sure, if your project is a library that should be used in other projects, to not force any user on a specific logger implementation. Thus, the specific logger should only be imported if it is a standalone application. Otherwise, include the logger implementations with test-scope.

How to set the log level for the default logger

Currently, there are two options to set the log level. The first one is by creating the logger (which then has an initial) log level of Logger.LOG_LEVEL, which can then be set by calling the .setLogLevel()-Method. If you want to initialize all your loggers with another default log level, you can set a system property via the maven pom file: xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire.plugin.version}</version> <configuration> <systemPropertyVariables> <seshat.loglevel>{YOUR LOG LEVEL GOES HERE.}</seshat.loglevel> </systemPropertyVariables> </configuration> </plugin> </plugins> </build>

This does not work when using java-main methods, because the maven system properties are not read then. If you want to set the system property for main method, you can configure that in your IntelliJ run configuration. For this, just add -Dseshat.loglevel=YOUR_LOG_LEVEL to the VM options. The VM option can of course also be set the same way, when executing it directly with java: e.g. java -jar -Dseshat.loglevel=YOUR_LOG_LEVEL myJar.jar. Maven supports it the same way. e.g. mvn clean package -Dseshat.loglevel=YOUR_LOG_LEVEL.

Building Seshat yourself

If you want to build the project yourself, just checkout this git repo, make sure you have jdk 11 or above installed as well as maven 3.6.0 or above and build the project by running the maven command: mvn package. This results in a jar-file inside the target folder, which can be used as a dependency in other projects.

FAQ

If you have any questions, please checkout our FAQ section.

Contributing

First make sure to read our general contribution guidelines.

In addition to that, the following applies to this repository:

  • Due to the focus on performance dependencies (except as bridges to other loggers) are not allowed. IF you have a very good reason to add a dependency please state so in the corresponding issue / pull request.

Licence

Copyright (c) 2020 the original author or authors. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

FOSSA Status

Research

If you are going to use this project as part of a research paper, we would ask you to reference this project by citing it.

DOI

Owner

  • Name: Advanced Information Systems and Technology
  • Login: FHOOEAIST
  • Kind: organization
  • Email: contact@aist.science
  • Location: University of Applied Sciences Upper Austria, Softwarepark 11, 4232 Hagenberg, Austria

The research group AIST researches software solutions in the fields of eHealth, Machine Learning and Data Mining as well as Computer Vision.

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 35
  • Total pull requests: 44
  • Average time to close issues: 23 days
  • Average time to close pull requests: 10 days
  • Total issue authors: 3
  • Total pull request authors: 7
  • Average comments per issue: 0.23
  • Average comments per pull request: 0.32
  • Merged pull requests: 44
  • Bot issues: 3
  • Bot pull requests: 8
Past Year
  • Issues: 3
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 3
  • Bot pull requests: 8
Top Authors
Issue Authors
  • pointan (8)
  • N520 (2)
  • renovate[bot] (1)
Pull Request Authors
  • pointan (6)
  • renovate[bot] (3)
  • N520 (1)
  • fossabot (1)
  • oliver-krauss (1)
  • 2er0 (1)
  • fhooeaist-bot (1)
Top Labels
Issue Labels
confirmed (7) bug (3) hot (2) review (2) suggested (1)
Pull Request Labels
review (5) confirmed (3)

Packages

  • Total packages: 4
  • Total downloads: unknown
  • Total dependent packages: 8
    (may contain duplicates)
  • Total dependent repositories: 9
    (may contain duplicates)
  • Total versions: 24
repo1.maven.org: science.aist.seshat:api

Our fancy and fast logging framework

  • Versions: 6
  • Dependent Packages: 7
  • Dependent Repositories: 7
Rankings
Dependent packages count: 8.4%
Dependent repos count: 9.3%
Average: 31.3%
Forks count: 52.5%
Stargazers count: 55.1%
Last synced: 4 months ago
repo1.maven.org: science.aist.seshat:seshat

Our fancy and fast logging framework

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Forks count: 36.0%
Stargazers count: 37.7%
Average: 38.6%
Dependent packages count: 48.9%
Last synced: 5 months ago
repo1.maven.org: science.aist.seshat:log4test

Our fancy and fast logging framework

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 32.0%
Forks count: 36.0%
Stargazers count: 37.7%
Average: 38.6%
Dependent packages count: 48.9%
Last synced: 5 months ago
repo1.maven.org: science.aist.seshat:log4j2

Our fancy and fast logging framework

  • Versions: 6
  • Dependent Packages: 1
  • Dependent Repositories: 2
Rankings
Dependent repos count: 16.1%
Dependent packages count: 33.0%
Average: 39.2%
Forks count: 52.5%
Stargazers count: 55.2%
Last synced: 5 months ago