We have moved to a Please visit there for updated posts

Wednesday, September 26, 2007

Siebel Logs - How Useful are they ?

If you have worked on Siebel CRM I am sure that you have heard the term LOGS lot of times. They are one of the most important and useful things if you are a Siebel Developer. But still most of us actually know how to use them to our advantage or to reduce our development time. Here in this Article I will try to explain some tips and tricks to get the logs and debug our code. Now we all know that we have two types of Siebel Application Clients.

  • Dedicated Client
  • Web Client
Siebel Web Client : We will talk first about the Siebel Web Client. Now to get logs from Siebel Web Client there is no easy way and the only way to get logs is to increase the log level at server for "Object Manager" or particular component that you want to get logs of for example Workflow Process Manager. I will talk detail about the Web Client Logging techniques in my next few posts.

In this article I am going to discuss ways which can help us get logs from dedicated clients and speed up our debugging and development time.

Dedicated Client : There are essentialy two ways to get logs from dedicated client

  • Spool
  • Environmental Variable

Spool : it is a very basic and known technique to get the spool of all the SQL Queries that are fired in the database level and we all come across it during our initial Siebel development days. We can enable the spool for Siebel Client as well as Siebel Tools. The steps to enable spool for both the Siebl tools and client there is common process which is as following

  1. Right click the siebel tools or Siebel Client Shortcut
  2. Go to end of String which is in Target Text Field
  3. Enter the Following string at the end: /s "c:\spool.txt"

/s switch here stands for Spool. Various other switches that can be used are as following

  • /u : username
  • /p : password
  • /d : database

With the following string you can automate login to your local or sample database depeding on the value you give in the switch. I am providing you examples of both

/u sadmin /p sadmin /d sample : String to login to Sample database with Sadmin user id
/u user /p pwd /d local : String to login to Local database with "user" user id.

Environmental Variable : This is more powerful and less know method of generating logs for dedicated client. Siebel has provided couple of Environmental Variables which are as following :


SIEBEL_LOG_EVENTS : This environmental variable can have two types of values.
Numeric or text.
The numeric value is the log level which can be between 1-4. 1 being the lowest and 4 being the highest. The Text value can be ALL which means Log Level of 4.

SIEBEL_LOG_DIR : This value of this variable is path where you want to create the logs. Makes sure that the path you mention is valid otherwise the logs will be created in the temp directory.

Examples of both the environmental variables are as following

SIEBEL_LOG_DIR : C:\siebel_logs

The process to create these enviornmental variables is as following

  1. Right click on the My Computer Icon
  2. Select Properties from context menu
  3. Go to ==> Advanced Tab
  4. Click ==> Environmental Variables
  5. In User Environmental Variables Tab click New
  6. Enter SIEBEL_LOG_EVENTS in Variable Name field
  7. Enter ALL in Variable Value Field
  8. Click New again and Enter the following details
  9. Variable Name : SIEBEL_LOG_DIR ; Variable Value : "your siebel log path"

Remember that Variable Names are case Sensitive. After you have created the variables when you start you dedicated client you will notice that in the path that you have given a file named siebel.log is created for Dedicated Client and file named siebel_dev is created for Siebel Tools.

If you don't provide the SIEBEL_LOG_DIR environmental variable the logs are created by default in Temp Directory.

Hope this posts helps you.
If the answer
is yes. Please post your comments and visit again.


chaitanya said...

The above explained matter about logs is quite useful and understanding.also plz tell me about what is that loglevel mean exactly.

Neel said...

Log Level determines the kind of details that are put into log file by siebel. Higher the log level more the details and lower the log level less the details.

For example Log Level 4 would mean that siebel will record each and every transaction to the minutest of details in the log file. Just going from one view to another will result in log file size to reach MB's

Ambika N said...

Excellent..Too Good..explained in a simple lucid language..Thanks for the info..keep doin the good work...
I respect your knowledge and the way you express yourself.
Thanks a lot !

chandu said...

I am fresher to Siebel.I understood
siebel Logs.But using this logs how we can debug or decrease the development time?
Other wise what is the main purpose of the siebel logs.How it helpful in development?

george_verghis said...

I have created a free program to help you analyze the SIEBEL SQL log files generated via spools or via server logs. It will help you order the sqls via execution times to find the slowest queries and help with tuning.
It will also help process the SQL’s - just click and right click on a sql to see the SQL with all the bind variables embedded in it. - The application is called SPerf.

Anonymous said...

Many thanks for this explanation! It helped me very well ;-)

You Might want to read following articles also.