Java Logging API generating empty log files -


i tried go through tutorial on java logging api:

www.vogella.com/articles/logging/article.html

but generated files empty (tested in netbeans, eclipse running jar cmd). log messages displayed in console only.

the following files used in project. might reason such behavior?

project: de.vogella.logger

myhtmlformatter.java

package de.vogella.logger;  import java.text.simpledateformat; import java.util.date; import java.util.logging.formatter; import java.util.logging.handler; import java.util.logging.level; import java.util.logging.logrecord;  //this custom formatter formats parts of log record single line class myhtmlformatter extends formatter {   // method called every log records   public string format(logrecord rec) {     stringbuffer buf = new stringbuffer(1000);     // bold levels >= warning     buf.append("<tr>");     buf.append("<td>");      if (rec.getlevel().intvalue() >= level.warning.intvalue()) {       buf.append("<b>");       buf.append(rec.getlevel());       buf.append("</b>");     } else {       buf.append(rec.getlevel());     }     buf.append("</td>");     buf.append("<td>");     buf.append(calcdate(rec.getmillis()));     buf.append(' ');     buf.append(formatmessage(rec));     buf.append('\n');     buf.append("<td>");     buf.append("</tr>\n");     return buf.tostring();   }    private string calcdate(long millisecs) {     simpledateformat date_format = new simpledateformat("mmm dd,yyyy hh:mm");     date resultdate = new date(millisecs);     return date_format.format(resultdate);   }    // method called after handler using   // formatter created   public string gethead(handler h) {     return "<html>\n<head>\n" + (new date())          + "\n</head>\n<body>\n<pre>\n"         + "<table width=\"100%\" border>\n  "         + "<tr><th>level</th>" +         "<th>time</th>" +         "<th>log message</th>" +         "</tr>\n";   }    // method called after handler using   // formatter closed   public string gettail(handler h) {     return "</table>\n  </pre></body>\n</html>\n";   } } 

mylogger.java

package de.vogella.logger;  import java.io.ioexception; import java.util.logging.filehandler; import java.util.logging.formatter; import java.util.logging.level; import java.util.logging.logger; import java.util.logging.simpleformatter;  public class mylogger {   static private filehandler filetxt;   static private simpleformatter formattertxt;    static private filehandler filehtml;   static private formatter formatterhtml;    static public void setup() throws ioexception {      // global logger configure     logger logger = logger.getlogger(logger.global_logger_name);      logger.setlevel(level.info);     filetxt = new filehandler("logging.txt");     filehtml = new filehandler("logging.html");      // create txt formatter     formattertxt = new simpleformatter();     filetxt.setformatter(formattertxt);     logger.addhandler(filetxt);      // create html formatter     formatterhtml = new myhtmlformatter();     filehtml.setformatter(formatterhtml);     logger.addhandler(filehtml);   } }  

uselogger.java

package de.vogella.logger.test;  import java.io.ioexception; import java.util.logging.level; import java.util.logging.logger;  import de.vogella.logger.mylogger;  public class uselogger {   // use classname, way can refactor   private final static logger logger = logger.getlogger(uselogger.class       .getname());    public void dosomethingandlog() {     // image here real work      // demo logging      // set loglevel severe, severe messages written     logger.setlevel(level.severe);     logger.severe("info log");     logger.warning("info log");     logger.info("info log");     logger.finest("really not important");      // set loglevel info, severe, warning , info written     // finest still not written     logger.setlevel(level.info);     logger.severe("info log");     logger.warning("info log");     logger.info("info log");     logger.finest("really not important");   }    public static void main(string[] args) {     uselogger tester = new uselogger();     try {       mylogger.setup();     } catch (ioexception e) {       e.printstacktrace();       throw new runtimeexception("problems creating log files");     }     tester.dosomethingandlog();   } }  

change following line (in method de.vogella.logger.mylogger.setup()):

// global logger configure logger logger = logger.getlogger(logger.global_logger_name); 

with:

// global logger configure logger logger = logger.getlogger(""); 

see more:


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -