Skip to content

bbbscarter/UberLogger

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.

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

About

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

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages