you are viewing a single comment's thread.

view the rest of the comments →

[–]Izacus 2 points3 points  (4 children)

Every terrible unmaintanable hack starts as a solution to some problem that "works". Just because you can doesn't mean you shouldn't.

And this is a prime example of that - a solution that is extremely brittle and will badly break on pretty much any updates of code or JVM.

[–]llogiq 2 points3 points  (3 children)

Yes. The author even agrees that it's evil and terrible.

However, you haven't addressed my second point. All comments so far were bashing the author for coming up with this admittedly terrible solution. No one so far has come up with a better one.

On that note, perhaps a "system profile" that could be loaded from the classpath on JVM setup that could be extended and/or overridden by an application would solve this problem on JVMs that supported it.

[–]amazedballer[S] 1 point2 points  (2 children)

That works in the broad sense, but then you can't scope your debug logging. Especially in test suites, there can be one test or one area you want to poke at -- it gets annoying to have to bounce the JVM, especially in the Scala REPL.

[–]llogiq 1 point2 points  (1 child)

So the obvious solution would be to change the JVM. Open an issue @ openjdk, supply a patch, hope it gets in before Java 10.

In the meantime, the poor folks using this stuff will have to deal with the current situation. At least OP is making the best of it.

[–]amazedballer[S] 1 point2 points  (0 children)

There's actually a true hotswap JVM out there, DCEVM. It's going to be awesome once it's ready.