promotional bannermobile promotional banner

Artemis

STDOUT/STDERR tracing (and more)

Logo

Redirect the Standard Out/Error streams to Log4j2 and also optionally save a 'blamefile' with the names of offending classes/lines along with a count of how many entries it has created during the most recent run.

In Forge

The basic functionality of Artemis has now been merged into the Forge Mod Loader, however this uses a vastly simplified approach, lacking the multi-line stack printing, internal class ignore and blamefile generation. Artemis will take control of the standard streams from FML during preinit. Before preinit (such as during coremod initialisation), FML will handle redirection - This is a limitation of Artemis loading as a standard mod (and thus loading after coremods).

Installing

Simply download the jar into the mods folder. This works on both clients and servers.

Usage

The mod exposes no in game commands or controls; all it does is enhance log files.

Configuration

The configuration file will be in the usual config folder as Artemis.cfg. The following can be configured:

  • Blame
    • (Boolean) createBlamefile - Creates the Artemis Blamefile on game exit (default false; see "The JVM Shutdown Hook" below)
  • Logging
    • (Boolean) ignoreBuiltins - Ignore internal classes that match the builtin regex (default false; see Builtins below)
    • (Int) stackDepth - How many lines of stack trace to show per log entry (default 1)
  • Builtins
    • (String) customRegex - The regex used to determine what is an internal class (default "^paulscode..*|^java.lang..*|^com.intellij..*|^sun..*")
    • (Boolean) useCustomRegex - Use the regex provided in the config else use the default one (default false)
  • IdMap
    • (Boolean) mapModIds - Replace class names with the owning mods ID (does not affect blamefile output format)

The JVM Shutdown Hook

In order to create the blamefile on server shutdown, the mod inserts what is known as a "JVM shutdown hook" during preinit. This basically queues a task for when the game (and hence JVM) closes down. This is only done because Forge lacks the proper events, and mods may continue to log during shutdown, thus the hook ensures this runs last. This is disabled by default, so no blamefile is generated.

Contacts and Links

The Artemis Team

profile avatar
  • 6
    Followers
  • 6
    Projects
  • 196.6K
    Downloads

More from _ForgeUser16783202View all

  • Thumpcord project image

    Thumpcord

    • 1.7K
    • Mods

    Discord support for Thump, a Minecraft chat bridge

    • 1.7K
    • February 4, 2017
    • Mods
  • Progenitor project image

    Progenitor

    • 14.1K
    • Mods

    Simple world pregeneration.

    • 14.1K
    • January 17, 2017
    • Mods
  • Forgelin project image

    Forgelin

    • 172.8K
    • Mods

    Kotlin support for Forge

    • 172.8K
    • January 16, 2016
    • Mods
  • EnderTech project image

    EnderTech

    • 10.8M
    • Mods

    Ender themed technological expansion

    • 10.8M
    • October 4, 2015
    • Mods
    • +3
  • Thumpcord project image

    Thumpcord

    • 1.7K
    • Mods

    Discord support for Thump, a Minecraft chat bridge

    • 1.7K
    • February 4, 2017
    • Mods
  • Progenitor project image

    Progenitor

    • 14.1K
    • Mods

    Simple world pregeneration.

    • 14.1K
    • January 17, 2017
    • Mods
  • Forgelin project image

    Forgelin

    • 172.8K
    • Mods

    Kotlin support for Forge

    • 172.8K
    • January 16, 2016
    • Mods
  • EnderTech project image

    EnderTech

    • 10.8M
    • Mods

    Ender themed technological expansion

    • 10.8M
    • October 4, 2015
    • Mods
    • +3