In order to reduce clutter in source files, it would be nice to be able to have logging statements be extracted to something breakpoint-esque, where you can add a logging point in your IDE by selecting the line in the gutter and adding a string message and logging level. The string message would then be somehow saved to a separate store (a file with an extension of "blah.flat.annotations" or something) and included in the compilation (or even runtime maybe), where the logging statements would be injected into the code at the specific points that they were added by the IDE gutter.
The format for the logging annotation storage would likely be some sort of format contains an AST representation of the file so that the compiler can map the logging annotation to the correct line of code without having to store an explicit line where the logging statement would go. This would be to prevent unnecessary modification to the file so that source control would have less changes overall.
In order to reduce clutter in source files, it would be nice to be able to have logging statements be extracted to something breakpoint-esque, where you can add a logging point in your IDE by selecting the line in the gutter and adding a string message and logging level. The string message would then be somehow saved to a separate store (a file with an extension of "blah.flat.annotations" or something) and included in the compilation (or even runtime maybe), where the logging statements would be injected into the code at the specific points that they were added by the IDE gutter.
The format for the logging annotation storage would likely be some sort of format contains an AST representation of the file so that the compiler can map the logging annotation to the correct line of code without having to store an explicit line where the logging statement would go. This would be to prevent unnecessary modification to the file so that source control would have less changes overall.