Forum Discussion

Peter_McCann's avatar
New Contributor
17 years ago

How do I change log file location (soapui.log soapui-errors.log)

  I'm using Soapui-2.0 on a RH Linux box, I'm a build engineer calling Ant from Hudson (sort of like cruise control but better imho) . i'm exec-ing a script to call a modified version of and have hacked to run with the following flags -a -j -h $host -f $resultsdir $xmlfile. The problem I have is the log files (soapui.log and soapui-errors.log) are being written to the ANT parent directory. I can probably change the location to SOAPUI_HOME by doing a chdir to SOAPUI_HOME in my script, However that would put all the log files from every build there.

I've been reading about soapui-log4j.xml , and  but I can't find any examples of either, and have exactly zero experience writing log4j.xml files.

I would like to have a way to write the log files to a results directory that gets clobbered before every run.

Thanks in advance for any help

6 Replies

  • omatzura's avatar
    Super Contributor
    Hi Pete,

    you can modify the soapui-log4j.xml file in the soapui-2.0.2.jar and put the modified file into the soapui\bin folder. Change the FILE and ERRORFILE appenders File parameter to the desired location.

    Hope this helps!


  • Thank you this works.

    I was able to set it as a variable. I added an additional flag to


    then passed it to to java.

    java -
    -cp $SOAPUI_CLASSPATH $options

    This allows me to define the log dir on the fly from my ant task that kicks off the soap ui tests.

    In the soapui-log4j.xml file I changed the lines you suggested to
  • Another way I found out is described below.
    This was needed for integrating SoapUI in a test utility (web application) for generating requests and responses based on the WSDL. This prevents the logs of the server/application to disappear from the server log file. To make it complete, I've also added a part of the WSDLMessageGenerator.

    if ( wsdlgen == null ) {
    // Make sure we maintain the environment
    SoapUI.setSoapUICore(new ServerSoapUICore());
    wsdlgen = new WSDLMessageGenerator();
    public class ServerSoapUICore extends DefaultSoapUICore {

    protected void initLog() {
    // We keep on using the log of the server....
    log = Logger.getLogger( DefaultSoapUICore.class );

    public Settings getSettings() {
    if ( log == null ) {
    return super.getSettings();
    public class WSDLMessageGenerator {
    private WsdlProject project;
    private WsdlInterface iface;

    public WSDLMessageGenerator() throws Exception {
    project = new WsdlProject();

    WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, wsdlLocation);
    iface = wsdls[0];

    Hope it helps!
  • FYI:
    For SoapUI version 4 option -Dsoapui.log.dir is not valid anymore
    the proper name is -Dsoapui.logroot