I finally published my first addon, and it hit the asset library today!

Log.pr(...) and Log.prn(...) are intended as drop-in replacements for print(...):

  • colorizes the output data based on type
  • recursively prints dictionaries and arrays
    • (with a sane max count, i.e. not printing 1000 entries in an array)
  • adds a script-name prefix and line-number before each log
    • with different treatment for [src:12]: vs <addons:12>: vs {test:12}: scripts

For me this helps reduce wall-of-text noise and eye strain while reading logs at a glance.

I created a docs site via docsify, and the code is on github.

I’ll be adding support for more types and customizing the color choices soon. You can opt-in to pretty-printing with your own objects by implementing a to_printable() function. I’m brainstorming ways to add support for not-your custom types as well (for example, Pandora Entities) - I have a few ideas but nothing implemented yet.

I’ve been using it in my own projects for a few months now, so it feels ready to share - I’m hopeful that others find it useful!

Try it out, let me know what you think!

You are viewing a single thread.
View all comments
6 points

Nice! I haven’t thought about pretty printers since I used penlight on Lua, but now I think I need one. I’ll add this to my arsenal.

permalink
report
reply
4 points

Excellent! Let me know what you think or if you have any ideas - it’s easy to add more types, I’ve only been minimal so far. Vector3s come to mind…

permalink
report
parent
reply

Godot

!godot@programming.dev

Create post

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

  • Posts need to be in english
  • Posts with explicit content must be tagged with nsfw
  • We do not condone harassment inside the community as well as trolling or equivalent behaviour
  • Do not post illegal materials or post things encouraging actions such as pirating games

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

  • The icon is a modified version of the official godot engine logo (changing the colors to a gradient and black background)
  • The banner is from Godot Design

Community stats

  • 680

    Monthly active users

  • 435

    Posts

  • 1.6K

    Comments