0

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

Glenn Slaven
  • 33,720
  • 26
  • 113
  • 165
  • I havent used this before but the PipelineBase class does have a logPath property (readonly) but which can be set using its contructor. Refer http://msdn.microsoft.com/en-us/library/ms967591(v=CS.90).aspx for more information. Are you more concerned about logging for order / CSF pipelines or your own custom ones? – Jagmag Sep 06 '10 at 03:06
  • We want to log for the Order pipelines only, we've got a bug that only occurs very rarely at checkout & I've run out of places to look so I want to see exactly what's happening, but we've got limited space on our server's c: drive – Glenn Slaven Sep 07 '10 at 22:40

1 Answers1

1

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.

bentayloruk
  • 4,060
  • 29
  • 31