[slf4j-dev] Repost
Thorbjørn Ravn Andersen
thunderaxiom at gmail.com
Fri Aug 29 16:41:41 CEST 2008
[Note: Sent twice as Ceki suspected it was delayed and perhaps lost.
Hopefully nobody is annoyed :) ]
Ceki Gulcu skrev den 25-08-2008 15:53:
> Thank you for posting your message.
>
> For those who missed older messages, Thorbjørn is adapting his work on adding
> logging statements on classes through byte code generation. This was published
> in an article entitled "Add Logging at Class Load Time with Java
> Instrumentation". The URL is
>
> http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html
>
Enclosed please find an initial conversion just so people can see what
this is about.
=== LOADING SOURCE
I am using eclipse - follow these steps to set up starting with a blank
workspace:
* Save the attached zip file, e.g to C:\slf4j-agent-projects.zip
* In Eclipse choose File -> Import
* Open "General", click "Existing projects into workspace". Click Next
* Select "Select archive file" radiobutton, and browse to the archive
saved before.
The projects "org.slf4j.instrumentation" and
"slf4j-instrumentation-helloworld" are found, and both are checked.
* Click "Finish"
The projects are loaded into Eclipse. You most likely want to switch to
the Java perspective (Windows->Open Perspective -> Other -> Java).
==== RUNNING DEMO IN ECLIPSE
* Open the "slf4j-instrumentation-helloworld" project, and open the
"build.xml" file.
You should see colours in the build.xml window indicating that Eclipse
knows about Ant.
* Open the outline view with Windows->Show view ->Outline"
You should see a tree view of the xml file in the outline view, right
click on the "All" node, and choose "Run as" -> "Ant build" (note: not
the line with three dots after "Ant build").
=== DEMO OUTPUT
Buildfile: C:\Documents and Settings\TRA\Workspaces\MyEclipse 6.5 -
Pulse Edition\slfj4-instrumentation-helloworld\build.xml
compile:
[delete] Deleting directory C:\Documents and
Settings\TRA\Workspaces\MyEclipse 6.5 - Pulse
Edition\slfj4-instrumentation-helloworld\output
[mkdir] Created dir: C:\Documents and
Settings\TRA\Workspaces\MyEclipse 6.5 - Pulse
Edition\slfj4-instrumentation-helloworld\output
[javac] Compiling 1 source file to C:\Documents and
Settings\TRA\Workspaces\MyEclipse 6.5 - Pulse
Edition\slfj4-instrumentation-helloworld\output
withoutAgent:
[java] Hello World - through println
[java] 22:36:55.125 [main] INFO demo.HelloWorld - Hello World -
through slf4j
withAgent:
[java] Start at Thu Aug 28 22:36:55 CEST 2008
[java] org.slf4j.LoggerFactory.getLogger(demo.HelloWorld.class);
[java] 22:36:55.468 [main] INFO demo.HelloWorld - >> main(args=[])
[java] Hello World - through println
[java] 22:36:55.468 [main] INFO demo.HelloWorld - >>
class$(x1=demo.HelloWorld)
[java] 22:36:55.468 [main] INFO demo.HelloWorld - <<
class$(x1=demo.HelloWorld) returns: class demo.HelloWorld
[java] 22:36:55.468 [main] INFO demo.HelloWorld - Hello World -
through slf4j
[java] 22:36:55.468 [main] INFO demo.HelloWorld - << main(args=[])
[java] Stop at Thu Aug 28 22:36:55 CEST 2008, execution time = 187 ms
all:
BUILD SUCCESSFUL
Total time: 2 seconds
===
That's it :)
Note the "class$" invocation in the output. It doesn't show when I run
the program directly from Eclipse. Wonder why :)
Comments are very welcome. Ceki, perhaps you could open a sandbox
corner for me in SVN? Makes it easier to share code...
--
Thorbjørn Ravn Andersen "... plus... Tubular Bells!"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slf4j-agent-projects.zip
Type: application/octet-stream
Size: 759490 bytes
Desc: not available
URL: <http://qos.ch/pipermail/slf4j-dev/attachments/20080829/350e0efe/attachment.obj>
More information about the slf4j-dev
mailing list