• Stars
    star
    472
  • Rank 93,034 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Replacement logging framework for Unity, with a new editor and in-game console

UberLogger

UberLogger is a free, modular, opensource replacement for Unity's Debug.Log system. It also includes UberConsole, a replacement for Unity's editor console, an in game console version of UberConsole, and a file logger.

UberConsole looks like this:

And the in-game version looks like this:

Core Features

  • Drop in replacement for Unity's Debug.Log() methods. No code changes needed.
  • A threadsafe, modular backend that supports any number of loggers, so Debug.Log can be routed to multiple locations. The supplied file logger should work on mobile devices.
  • Included are a replacement editor console, an in-game console and a file logger.
  • Support for named debug channels - UberDebug.LogChannel("Boot", "Some message") can be filtered based on the channel name.
  • Methods may be marked as excluded from callstacks by tagging them with '[StackTraceIgnore]', to keep your logs tidy.

UberConsole Features

  • More compact view shows more errors in the same space.
  • Supports debug log channels.
  • Messages can be filtered by regular expressions.
  • Timestamps.
  • Source code can be shown inline with the callstack.
  • An in-game version of UberConsole is also provided.

Installation

  • Stick the UberLogger folder somewhere under your Unity project Assets folder.
  • To use additional features like channels, use UberDebug instead of Debug - it contains methods like Log, LogChannel, etc.
  • To view the editor UberConsole, go to Window->Show Uber Console.
  • To use UberConsole in your game, drag the UberAppConsole prefab into your scene.
  • Usage examples can be seen in the Examples folder.

Notes

  • Tested in Unity 5.x, 2017.x, free and Pro.
  • Logging disabled in non-debug builds. To force it on, define ENABLE_UBERLOGGING.
  • Due to file incompatibilities, the in-game console skin doesn't work in Unity 4 and would need to be set up again. Same with the prefab. That said, the code works, and so does the editor UberConsole.
  • Pull requests welcome!

Extensions

  • UberLogger-StructuredFile adds a structured log file format with timestamps, channel names, and control over which log messages are printed with callstacks and which are printed without.
  • UberLogger-Stackdriver adds centralized logging. Log messages will be sent from game clients to Google's Stackdriver service. The collected logs can be browsed and searched in the Stackdriver web UI.
  • UberLogger-LogChannels adds compile-time resolution and muting of log channels. This is useful for very large projects where logging to muted channels causes performance problems.

UberLogger: https://github.com/bbbscarter/UberLogger