Search code examples
loggingcommerceserver2007

Can you change the location of the pipline log files in Commerce Server 2007?


By default Commerce Server's pipelines log to %WEBROOT%\pipelines\log, is there a configuration value that can change this location?


Solution

  • I don't believe you can do this via the Commerce Server 2007 API or configuration. However, I have achieved this by using the Windows mklink command to create an NTFS symbolic link (supported on Windows Server 2008, Vista and 7).

    How to re-locate the Commerce Server pipeline log using mklink

    1. If the directory %WEBROOT%\pipelines\log exists, delete it.
    2. Create the new log directory (e.g. x:\new\location\path)
    3. Run the following command (as admin) to create the symlink:
      mklink /D %WEBROOT%\pipelines\log x:\new\location\path
    4. Set the appropriate permissions on the new directory (so CS can log to it).
    5. Enable CS pipeline logging and watch it log to the new directory.

    Disclaimer: I have only used this on a development machine. I do not know of any reason why it should not work for you in production, but please test and use at your own risk!

    Beware the Dragons: I'm not sure the pipeline logging gracefully handles concurrent PCF executions (common in prod). Microsoft also explicitly advise against enabling pipeline logging in production.