how to create log in specific location when using log4j in java desktop application

前端 未结 4 1744
天命终不由人
天命终不由人 2020-12-16 03:09

I am using log4j in Eclipse for logging messages in a java desktop application. I want that the log should be created in a specific folder (Specifically, in the folder which

相关标签:
4条回答
  • 2020-12-16 03:36

    Yes it is possible to set it in property file. One example is:

    log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
    log4j.appender.rollingFile.File=D:/myapp/mylog.log
    log4j.appender.rollingFile.MaxFileSize=2MB
    log4j.appender.rollingFile.MaxBackupIndex=2
    log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n
    

    log4j.appender.rollingFile.File=D:/myapp/mylog.log can be modified to any path on your disk.

    0 讨论(0)
  • 2020-12-16 03:37

    Assuming you are using the RollingFileAppender, you could set something like this in your log4j.properties file (below I am setting C:/myapp/src/mylog.log as my target location - you can change this to your desired location):

    log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
    log4j.appender.rollingFile.File=C:/myapp/src/mylog.log
    ... (other configurations)
    ...
    
    0 讨论(0)
  • 2020-12-16 03:40

    I would go with Saket's reply. But instead of hardcoding the location its always better to have a relative path.

    If you started your application from a main method from a class called Launcher for example and this is the structure of your Eclipse Project directory:

    Java Project
       src
       bin
    

    Then just give your location to be

     log4j.appender.R.File=./log/Logfile.log
    

    This will create the file under a directory log:

    Java Project
       src
       bin
       log
         LogFile.log
    

    Hope you got it.. :)

    0 讨论(0)
  • 2020-12-16 03:40

    It is not good to create log in a project folder since it gets bigger and bigger in size. Rather you can create it in user directory from which your application is running.

    Eg: should be ${user.home}/appName/MyWEB.log , user generally has right to write in home dir

    works for both windows and linux environment.

    0 讨论(0)
提交回复
热议问题