Re: SLF4D - A proposal for a common logging interface for Dub projects

2023-02-24 Thread psyscout via Digitalmars-d-announce

On Wednesday, 22 February 2023 at 21:46:32 UTC, Andrew wrote:
I've been spending some time in the last few weeks to prototype 
a logging framework that's inspired by 
[SLF4J](https://www.slf4j.org/). To that end, I've created 
[SLF4D](https://github.com/andrewlalis/slf4d), which provides a


Hi Andrew,

this looks great.
I have a Java background, so it resonates :)

Thank you for your effort!


Re: SLF4D - A proposal for a common logging interface for Dub projects

2023-02-24 Thread Tobias Pankrath via Digitalmars-d-announce

On Wednesday, 22 February 2023 at 21:46:32 UTC, Andrew wrote:
I've been spending some time in the last few weeks to prototype 
a logging framework that's inspired by 
[SLF4J](https://www.slf4j.org/). To that end, I've created 
[SLF4D](https://github.com/andrewlalis/slf4d), which provides a 
common logging interface, and a pluggable architecture to allow 
third-parties to handle log messages generated by any logger in 
an application.




Why not std.experimental.logger?


godot-dlang v0.2.0

2023-02-24 Thread evilrat via Digitalmars-d-announce

# Release godot-dlang v0.2

This release includes support for Godot 4 RC

## What is godot-dlang?

godot-dlang is a wrapper over Godot engine scripting API using new
native extensions feature, simply put you can now extend engine 
using native code in a shared library form.


## What it can be used for?

Games primarily, 2d games, 3d games, large-scale open world 
games...


But wait, because Godot includes various multimedia features and 
has a very rich GUI toolkit
you can use it to build any kind of multimedia apps, use it as a 
GUI for your programs,

build simulation programs, and much more!

## What is Godot?

Godot is a modular open source game engine with permissive 
license (MIT).


Godot 4 is the latest version of Godot is now entered 
stabilization phase, it still might have some API changes before 
release but otherwise it is now a good time to start new 
projects, final 4.0 release can be expected within 1-2 months.


## Where to get Godot?

(scroll down to downloads section, use standard build if you 
don't plan to mix godotscript/C#/D)


https://godotengine.org/article/release-candidate-godot-4-0-rc-5/

## Where to get godot-dlang?

godot-dlang source code
  https://github.com/godot-dlang/godot-dlang

also available in dub
  https://code.dlang.org/packages/godot-dlang


Re: SLF4D - A proposal for a common logging interface for Dub projects

2023-02-24 Thread Andrew via Digitalmars-d-announce
On Friday, 24 February 2023 at 22:01:18 UTC, Tobias Pankrath 
wrote:

Why not std.experimental.logger?


There are a few reasons that I had for this:
- There are already quite a few different logging implementations 
entrenched in the D ecosystem besides just std.logger (it's no 
longer experimental!), and I don't think everyone is going to 
push to std.logger just by virtue of it being in phobos.
- std.logger uses a mutable public shared logger instance. I 
personally don't like this approach, and I think it's cleaner if 
the logging configuration for an entire application is setup in 
one place, on application startup. That's why with SLF4D you 
(optionally) configure a logging provider as soon as you enter 
`main()`.
- The base `Logger` from std.logger is a class when, in my 
opinion, it doesn't need to be, if you want to provide extensible 
ways for handling the log messages that an application produces. 
It's easier for developers to learn to use a simple struct and 
its fixed set of methods, than to understand a type hierarchy.
- std.logger makes some approaches towards filtering, formatting, 
and distributing log messages, but it still seems very primitive 
to me, compared to mature logging frameworks in other languages 
(primarily python and java), and I would rather have the 
application logic completely separated from the logic controlling 
what happens to log messages after they're created.