1

プロジェクトに log4j ogging を使用しています。残念ながら、手動で記録したアプリケーションの情報レベルを記録することはできません..データベース ログは完全に記録されていますが!

ここに私のプロパティファイルがあります:

log4j.rootLogger=OFF

log4j.appender.serviceLog=org.apache.log4j.RollingFileAppender
log4j.appender.serviceLog.File=C:/Users/prateekg/Desktop/log4j/log

log4j.appender.dbLog=org.apache.log4j.RollingFileAppender
log4j.appender.dbLog.File=C:/Users/prateekg/Desktop/log4j/dbLog

log4j.appender.serviceLog.MaxFileSize=1MB
log4j.appender.serviceLog.MaxBackupIndex=1

log4j.appender.serviceLog.layout=org.apache.log4j.PatternLayout
log4j.appender.serviceLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.appender.dbLog.layout=org.apache.log4j.PatternLayout
log4j.appender.dbLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.category.serviceLog=INFO,serviceLog
log4j.category.org.springframework.jdbc=DEBUG, dbLog

編集:

これは私のログコードです:

public static Logger logger = Logger.getLogger(Controller.class);
Boolean commit=false;
public Controller(DashBoardDAO dao,MessageProcessor mp, HandlerFactory hf, ToXML xml)
{
    this.dao=dao;
    this.mp=mp;
    this.hf=hf;
    this.xml=xml;
    PropertyConfigurator.configure("log4j.properties");
}

public Boolean controlFlow(Message message)
{
    Handler handler=null;
    String data[]=null;
    Boolean flag=false;

    int count=0;

    handler=initializeHandlerFactory(message);
    data=getMessage(handler,message);
    flag=validate(data);
    count=getEventCount(data);
    //commit=mp.flag1;
    //System.out.println("The flag is "+flag);

    if(flag)
    {
        System.out.println("inside flag");
        String elementNames[]=dao.getElementNames(Integer.parseInt(data[0]));
        System.out.println("No of tags "+elementNames.length);
        logger.info("No of tags in the generated XML is "+elementNames.length);
        File xmlFile=xml.convertToXML(elementNames, data);
        logger.info("Temporary XML File created");
        logger.info("Data sent for insertion");
        dao.insert(count, data,xmlFile);
        Boolean f=xmlFile.delete();
        System.out.println("Temp XML file Deleted: "+f);
        if(f)
        {
        logger.info("Temporary XML File deleted");
        commit=mp.flag1;
        }
        else
            logger.info("Error in deleting temporary XML File");
    }
4

1 に答える 1

1

ロガーを次のように定義するかLogger.getLogger("serviceLog")、クラスに一致するカスタムアペンダーを定義する必要があります

log4j.category.my.package.Controller=INFO,serviceLog

またはあなたのパッケージ

log4j.category.my.package=INFO,serviceLog

PropertyConfigurator.configure("log4j.properties");また、これは起動時にlog4jによって検索されるデフォルトの構成ファイル名であるため、呼び出す必要はありません。

于 2013-04-01T12:58:18.153 に答える