IBM Support

Maximo -- What should be the default logging and how to set it?

Technical Blog Post


Maximo -- What should be the default logging and how to set it?


Every issue investigation requires specific loggers and some related loggers.  This depends on the issue on hand.  I will not go into all the situations in this blog, but I would like to describe what the default logging should be or what should be log level at a steady state.  Too much logging is not useful and difficult to sift through.  When a Maximo production environment is working in an ideal state without any issues then here is the logging settings I recommend.

Set all loggers to ERROR level except the maximo root logger.  Set maximo root logger to INFO level.  With the maximo root logger at INFO level, you will see the number of users, cron information and memory usage on the JVM printed every minute.  This is useful information to get an idea of the load on the application server.

You should turn the mxe.mbocount property to 0 in the system properties application.  The mbocount property prints all the mbosets and mbos counts along with the memory and user usage.  The mbo counts are only required if you are analyzing a memory leak issue, if not, it should be turned off by setting the property to 0 (zero) in the system properties application.  This property implementation pre-dates logging implementation and hence it is in the system properties application.  But, the mbocount property is related to logging.  To disable the mbocount logging, go to maximo system properties application, choose mxe.mbocount property.  set to 0 ( zero ).  Save and do live refresh.


Here is a quick method to set the system to default logging.  This requires maximo database update permission.

Connect to maximo database using a SQL tool such as sqlplus, toad, db2 control center etc.  and run the following SQL command.

update maxlogger set loglevel = 'ERROR';

The above statement will set all loggers to ERROR level.

update maxlogger set loglevel ='INFO' where logger = 'maximo';

This statement resets the maximo root logger to INFO level.  After these changes you need to restart the application servers for the changes to take effect.


If you do not want to restart the servers, then ignore updating the maximo root logger statement and follow these steps.  Login to maximo logging application through a maximo application server.  From the select action drop down menu, choose manage root logger.  Set maximo root logger to INFO.  Save and Apply Settings.  This 2 staged approach can be used to apply the database change and force the application servers to refresh the logging changes from the database.

The above changes can be accomplished using logging application, but it is tedious and time consuming.  Every logger that is not at ERROR level has to be retrieved and updated.  So, the database back end approach is faster.


The above settings will set the maximo environment to a logging setting that will log bare minimum in the log files and will print all error conditions.  If needed, adjust the log levels for problem analysis and then reset the logging back to the default level.



Reduced logging improves the system performance and reduces log cluttering.  Excessive logging adds some 5-10% overhead to the performance depending on how much is being logged.  So, reduce logging when not needed.


[{"Business Unit":{"code":"BU005","label":"IoT"}, "Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":""}]