how to debug or log info in bean | Community
Skip to main content
Xena_bcn
Level 5
October 16, 2015
Solved

how to debug or log info in bean

  • October 16, 2015
  • 34 replies
  • 7558 views

hello here.

So one of my component java bean functions is not returning result I am expecting.

I added log.info  to trace , doesn't print anything.

 

Then used debug from Eclipse , doesn't stop on breakpoints.

 

Where and what I should do?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by edubey

Try this snippet of code.

Resource r = resourceResolver.getResource(path); Asset a = r.adaptTo(Asset.class); Rendition rnd = a.getOriginal(); long size = rnd.getSize();

34 replies

Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

Hi,

It is one of components Java bean class.

I access to the web page via WCM in localhost:4502 and I see the component, but the file size is shown as 0.00kb

ButI don't see any log.

I've  used System.out.println("") too.

Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

oh not mine was:

private final Logger log = LoggerFactory.getLogger(getClass());

 

I added this, compiled and deployed. but it is still not writing log.

should i restart?

Adobe Employee
October 16, 2015

So the bundle that contains your java code is empty?

Did you follow the guide[1] for adding Java classes to your OSGI bundle? It seems like your maven file has not been configured correctly to include the java class. After building you bundle, you should be able to unpack the jar file and see your class file.

Regards,

Opkar

[1] https://helpx.adobe.com/experience-manager/using/creating-osgi-bundles-digital-marketing.html

smacdonald2008
Level 10
October 16, 2015

What file are you looking in? 

Adobe Employee
October 16, 2015

Hi,

can you explain how the the URL you are calling will lead to your code being invoked? Are you calling the URL directly?

What kind of Java class is it?

It sounds as if you code is simply not being called. Doing things crudely, you should be able to see "System.out.println("");" statements if your code was being called.

Regards,

Opkar

smacdonald2008
Level 10
October 16, 2015

Did you properly declare the logger:

/** Default log. */

protected final Logger log = LoggerFactory.getLogger(this.getClass());

the information is written to the aem log file too. 

Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

as far as I can see the core bundle is present in

http://localhost:4502/system/console/bundles

http://localhost:4502/system/console/osgi-installer

I need to show a DAM asset file size in 1 of my components.

 

So I pass here URL as for example  /content/dam/project_name/<path>/filename.pdf

 

  private int getFileSize(URL url) {
        HttpURLConnection conn = null;
        try {
            log.info(" URL : " +  url.toString());
            conn = (HttpURLConnection) url.openConnection();
            log.info(" connected");
            conn.setRequestMethod("HEAD");
            conn.getInputStream();
            
            log.info(" input streem");
            
            return conn.getContentLength();
            
           
            
        } catch (IOException e) {
            e.printStackTrace();
            return -1;
        } finally {
            conn.disconnect();
        }
  }

edubey
Level 10
October 16, 2015

Can you please share snippet of your code?

Can you ensure that JAR files required are present in you OSGI.

edubey
Level 10
October 16, 2015

In OSGI,

Can you open logger configuration and find out whether there is a separate log file configured for your class in  which this code is present.

Also please check what is the log level setup.

Are you able to see logs of other classes ?

Link: http://localhost:4502/system/console/configMgr

Xena_bcn
Xena_bcnAuthor
Level 5
October 16, 2015

hi...

 

yes i am using it. but it is not printing to adobe error.log

 

and this java class is in <package>.components

 

what do you mean by component in OSGI?