Disable logging specific TI process in tm1s-log.properties
- nlashin
- Posts: 28
- Joined: Tue Jun 18, 2013 10:24 am
- OLAP Product: TM1
- Version: Planning Analytics 2.0
- Excel Version: 365
Disable logging specific TI process in tm1s-log.properties
Hello everyone!
I have a TI process which running in a chore every minute.
Of course, this makes too much logging in tm1serve.log . But I can't disable all processes or chores by setting:
log4j.logger.TM1.Process=OFF
log4j.logger.TM1.Chore=OFF
Can I specify TI process there ( log4j.logger.TM1.Process.MyProcess=OFF )? Or may be you have any other suggestions?
Thanks!
Best Regards, Nikita
I have a TI process which running in a chore every minute.
Of course, this makes too much logging in tm1serve.log . But I can't disable all processes or chores by setting:
log4j.logger.TM1.Process=OFF
log4j.logger.TM1.Chore=OFF
Can I specify TI process there ( log4j.logger.TM1.Process.MyProcess=OFF )? Or may be you have any other suggestions?
Thanks!
Best Regards, Nikita
- qml
- MVP
- Posts: 1096
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: Disable logging specific TI process in tm1s-log.properties
No, you can't stop logging a specific chore/process.
What you could do is log all TI process related information into a separate file so that your main server log is not cluttered with any TI process entries whatsoever. Let me know if you'd like instructions on how to achieve that.
What you could do is log all TI process related information into a separate file so that your main server log is not cluttered with any TI process entries whatsoever. Let me know if you'd like instructions on how to achieve that.
Kamil Arendt
-
- MVP
- Posts: 2836
- Joined: Tue Feb 16, 2010 2:39 pm
- OLAP Product: TM1, Palo
- Version: Beginning of time thru 10.2
- Excel Version: 2003-2007-2010-2013
- Location: Atlanta, GA
- Contact:
Re: Disable logging specific TI process in tm1s-log.properties
I'd like to know how to do that.qml wrote:What you could do is log all TI process related information into a separate file so that your main server log is not cluttered with any TI process entries whatsoever. Let me know if you'd like instructions on how to achieve that.

- qml
- MVP
- Posts: 1096
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: Disable logging specific TI process in tm1s-log.properties
Very well then, here is an example of a tm1s-log.properties file that would do just that:
The last two lines are there specifically so that these two loggers (TM1.Process and TM1.Chore) write only to tm1process.log and not to the main tm1server.log.
Code: Select all
log4j.logger.TM1.Process=INFO, S9
log4j.logger.TM1.Chore=INFO, S9
log4j.appender.S9=org.apache.log4j.SharedMemoryAppender
log4j.appender.S9.MemorySize=20485760
log4j.appender.S9.MaxFileSize=20 MB
log4j.appender.S9.File=tm1process.log
log4j.appender.S9.MaxBackupIndex=9
log4j.appender.S9.TimeZone=GMT
log4j.additivity.TM1.Process=false
log4j.additivity.TM1.Chore=false
Kamil Arendt
- Elessar
- Community Contributor
- Posts: 412
- Joined: Mon Nov 21, 2011 12:33 pm
- OLAP Product: PA 2
- Version: 2.0.9
- Excel Version: 2016
- Contact:
Re: Disable logging specific TI process in tm1s-log.properties
Nikita,
I wonder, WHY do you need to run a process every minute?..
I wonder, WHY do you need to run a process every minute?..
-
- Community Contributor
- Posts: 217
- Joined: Thu Aug 15, 2013 9:05 am
- OLAP Product: TM1
- Version: 10.2.1.1
- Excel Version: 14.0.6129.5000
Re: Disable logging specific TI process in tm1s-log.properties
Before we upgraded to 10.2 We had a trigger inside an Application that allowed the user to change a value in a Picklist, so the chore running every minute can see the "run in the next minute" value, and run a transfer process.Elessar wrote:Nikita,
I wonder, WHY do you need to run a process every minute?..
We now just use the event handling set up in Application Web, via Performance Modeler.
He might have something similar....
- nlashin
- Posts: 28
- Joined: Tue Jun 18, 2013 10:24 am
- OLAP Product: TM1
- Version: Planning Analytics 2.0
- Excel Version: 365
Re: Disable logging specific TI process in tm1s-log.properties
Thanks, i'll use this way.qml wrote:The last two lines are there specifically so that these two loggers (TM1.Process and TM1.Chore) write only to tm1process.log and not to the main tm1server.log.
I check whether file exists in a special folder or not, and if exists, I start loading process.Elessar wrote:Nikita,
I wonder, WHY do you need to run a process every minute?..
- gtonkin
- MVP
- Posts: 1259
- Joined: Thu May 06, 2010 3:03 pm
- OLAP Product: TM1
- Version: Latest and greatest
- Excel Version: Office 365 64-bit
- Location: JHB, South Africa
- Contact:
Re: Disable logging specific TI process in tm1s-log.properties
Sounds like a scenario to use task scheduler and TM1RunTI (some batch file/vbs code) Only if the file exists would you need to run the TI. In this case you would want TI to write to the TM1Server.log
Alternatively, trigger the TM1RunTI from the application creating the file.
Alternatively, trigger the TM1RunTI from the application creating the file.
- nlashin
- Posts: 28
- Joined: Tue Jun 18, 2013 10:24 am
- OLAP Product: TM1
- Version: Planning Analytics 2.0
- Excel Version: 365
Re: Disable logging specific TI process in tm1s-log.properties
Good idea! But I haven't got access to this application (ERP system) and it is difficult to push it make a trigger.gtonkin wrote:Sounds like a scenario to use task scheduler and TM1RunTI (some batch file/vbs code) Only if the file exists would you need to run the TI. In this case you would want TI to write to the TM1Server.log
Alternatively, trigger the TM1RunTI from the application creating the file.

- gtonkin
- MVP
- Posts: 1259
- Joined: Thu May 06, 2010 3:03 pm
- OLAP Product: TM1
- Version: Latest and greatest
- Excel Version: Office 365 64-bit
- Location: JHB, South Africa
- Contact:
Re: Disable logging specific TI process in tm1s-log.properties
Hi Nikita, was thinking of running the polling process on the TM1 server, instead of the chore running each minute. The polling process would be called from Windows task scheduler. Should be ERP file be present then the TM1RunTi would be executed.
- nlashin
- Posts: 28
- Joined: Tue Jun 18, 2013 10:24 am
- OLAP Product: TM1
- Version: Planning Analytics 2.0
- Excel Version: 365
Re: Disable logging specific TI process in tm1s-log.properties
Sounds interesting. I think, I'll trygtonkin wrote:Hi Nikita, was thinking of running the polling process on the TM1 server, instead of the chore running each minute. The polling process would be called from Windows task scheduler. Should be ERP file be present then the TM1RunTi would be executed.

- Hippogriff
- Posts: 48
- Joined: Thu Nov 19, 2015 4:02 pm
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: 2012
Re: Disable logging specific TI process in tm1s-log.properties
I thought this was a great idea. I wanted to see whether I could get all my own debug output into a separate file - from LogOutput function calls in TI Processes - and I tried to add this extra section to the tm1s-log.properties file, cribbing from the above:qml wrote:Very well then, here is an example of a tm1s-log.properties file that would do just that:
The last two lines are there specifically so that these two loggers (TM1.Process and TM1.Chore) write only to tm1process.log and not to the main tm1server.log.Code: Select all
log4j.logger.TM1.Process=INFO, S9 log4j.logger.TM1.Chore=INFO, S9 log4j.appender.S9=org.apache.log4j.SharedMemoryAppender log4j.appender.S9.MemorySize=20485760 log4j.appender.S9.MaxFileSize=20 MB log4j.appender.S9.File=tm1process.log log4j.appender.S9.MaxBackupIndex=9 log4j.appender.S9.TimeZone=GMT log4j.additivity.TM1.Process=false log4j.additivity.TM1.Chore=false
Code: Select all
# Second Logger just for TILogOutput entries...
log4j.logger.TM1.TILogOutput=INFO, S9
log4j.appender.S9=org.apache.log4j.SharedMemoryAppender
log4j.appender.S9.MemorySize=5 MB
log4j.appender.S9.MaxFileSize=100 MB
log4j.appender.S9.File="C:\TILogOutput.log"
log4j.appender.S9.MaxBackupIndex=20
log4j.appender.S9.TimeZone=GMT
log4j.additivity.TM1.TILogOutput=false
Code: Select all
TM1.Process Process "A_Test" executed by user "Admin"
TM1.Process Process "A_Test": finished executing normally, elapsed time 0.00 seconds
--
Cheers, Hippo
Cheers, Hippo
- qml
- MVP
- Posts: 1096
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: Disable logging specific TI process in tm1s-log.properties
Looks like it should work, because it most certainly does for any other logger I have tried. It's possibly that either TM1.TILogOutput has a defect in handling the additivity property (it is after all a relatively new logger), or that this is the intended behaviour and the makers of that logger wanted to only allow writing to the main tm1server.log for some reason.Hippogriff wrote:I'm bemused by that. Obviously missing something. Any pointers gratefully received on this. I can get my LogOutput log lines back into tm1server,log if I remove this stuff I put in, so it's obviously heeding the instruction to either do or do not to write them to tm1server.log, it's just not writing to the other log as I'd like it to.
It could also be that the service account TM1 is running under cannot write to C:\ so maybe try using TM1's logging directory as the location for your log?
If it's not a permissions issue I suggest raising a PMR with IBM for this.
Kamil Arendt
-
- MVP
- Posts: 264
- Joined: Mon Nov 03, 2014 8:23 pm
- OLAP Product: TM1
- Version: 9.5.2 10.1 10.2 PA2
- Excel Version: 2016
Re: Disable logging specific TI process in tm1s-log.properties
Remove the quotes from around the File parameter and use a double backslash for the path separator.Hippogriff wrote:Code: Select all
# Second Logger just for TILogOutput entries... log4j.logger.TM1.TILogOutput=INFO, S9 log4j.appender.S9=org.apache.log4j.SharedMemoryAppender log4j.appender.S9.MemorySize=5 MB log4j.appender.S9.MaxFileSize=100 MB log4j.appender.S9.File="C:\TILogOutput.log" log4j.appender.S9.MaxBackupIndex=20 log4j.appender.S9.TimeZone=GMT log4j.additivity.TM1.TILogOutput=false
Code: Select all
log4j.appender.S9.File=C:\\TILogOutput.log
- Hippogriff
- Posts: 48
- Joined: Thu Nov 19, 2015 4:02 pm
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: 2012
Re: Disable logging specific TI process in tm1s-log.properties
Thanks to both - it was the "\\" I needed - rookie error.
Although "/" also works as a replacement for "\".
It does not like the double-quotes, seemingly.
It's working with just TILogOutput going to a separate file.
Although "/" also works as a replacement for "\".
It does not like the double-quotes, seemingly.
It's working with just TILogOutput going to a separate file.
--
Cheers, Hippo
Cheers, Hippo
-
- Posts: 119
- Joined: Mon Oct 27, 2014 10:50 am
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: 2013
Re: Disable logging specific TI process in tm1s-log.properties
Quick question from a fairly new guy.
If I wanted to learn about configuring logging. What would I google?
I understand that TM1 has this logger. And you can configure this logger to do things. But I cant seem to find what available commands there are.
If I wanted to learn about configuring logging. What would I google?
I understand that TM1 has this logger. And you can configure this logger to do things. But I cant seem to find what available commands there are.
- gtonkin
- MVP
- Posts: 1259
- Joined: Thu May 06, 2010 3:03 pm
- OLAP Product: TM1
- Version: Latest and greatest
- Excel Version: Office 365 64-bit
- Location: JHB, South Africa
- Contact:
Re: Disable logging specific TI process in tm1s-log.properties
IBM sent this article out last night as it happens.
- qml
- MVP
- Posts: 1096
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: Disable logging specific TI process in tm1s-log.properties
You can start with the overview here.Bakkone wrote:If I wanted to learn about configuring logging. What would I google?
And if you use the search box on this forum and look for something like 'tm1s log properties' you should find many threads on the subject and some useful loggers. If you're further interested you can also google 'log4j' as this is the open source logging library that TM1 uses.
Kamil Arendt
-
- Posts: 119
- Joined: Mon Oct 27, 2014 10:50 am
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: 2013
Re: Disable logging specific TI process in tm1s-log.properties
Thanks! I will look into it.
- Hippogriff
- Posts: 48
- Joined: Thu Nov 19, 2015 4:02 pm
- OLAP Product: TM1
- Version: 10.2.2
- Excel Version: 2012
Re: Disable logging specific TI process in tm1s-log.properties
Do you think it's true that a specific Logger can only have 1 level (and above) enabled?
I wrote this small TI Process:
I wanted to reach the point where I could have all 5 lines going into tm1server.log and just ERROR and above going into a new errorsonly.log - for the life of me I cannot get this to happen.
My thinking was that I would set the S1 Appender to be DEBUG. When I do that, and run the Process, I certainly see all 5 lines echoed out to tm1server.log. I then thought I could create a second Appender (S2?) and that would point to a different file, but its level would be set to ERROR so I should get only ERROR and FATAL output there.
I thought that this would work:
But what I see here is that tm1server.log is not written to at all, and the ERROR and FATAL lines are written to errorsonly.log. It's like the Logger TM1 can only have 1 LEVEL set, regardless of which Appender we may be talking about.
So I added TILogOutput to the S2 Appender, like so:
Hoping that I would then get INFO, WARN, ERROR and FATAL into tm1server.log and just ERROR and FATAL into errorsonly.log but I do not - I observe it writing to both logs, but it writes only the ERROR and FATAL to both - my desire to have the other LEVELs written to tm1server.log ain't happening.
If I set Appenders S1 and S2 to be log4j.logger.TM1.TILogOutput then I'm kinda back to where I started - tm1server.log contains nothing, and errorsonly.log contains the lines for ERROR and FATAL only.
Do you think my expectations of how this could work are out-of-whack or am I missing something else I need?
I wrote this small TI Process:
Code: Select all
LogOutput ('DEBUG','DEBUG - Line 1');
LogOutput ('INFO','INFO - Line 2');
LogOutput ('WARN','WARN - Line 3');
LogOutput ('ERROR','ERROR - Line 4');
LogOutput ('FATAL','FATAL - Line 5');
My thinking was that I would set the S1 Appender to be DEBUG. When I do that, and run the Process, I certainly see all 5 lines echoed out to tm1server.log. I then thought I could create a second Appender (S2?) and that would point to a different file, but its level would be set to ERROR so I should get only ERROR and FATAL output there.
I thought that this would work:
Code: Select all
log4j.logger.TM1=INFO, S1
log4j.appender.S1=org.apache.log4j.SharedMemoryAppender
log4j.appender.S1.MemorySize=5 MB
log4j.appender.S1.MaxFileSize=100 MB
log4j.appender.S1.MaxBackupIndex=20
log4j.appender.S1.TimeZone=GMT
log4j.logger.TM1=ERROR, S2
log4j.appender.S2=org.apache.log4j.SharedMemoryAppender
log4j.appender.S2.MemorySize=5 MB
log4j.appender.S2.MaxFileSize=100 MB
log4j.appender.S2.File=C:/TM1LOGGING/errorsonly.log
log4j.appender.S2.MaxBackupIndex=20
log4j.appender.S2.TimeZone=GMT
log4j.additivity.TM1.S2=true
So I added TILogOutput to the S2 Appender, like so:
Code: Select all
log4j.logger.TM1=INFO, S1
log4j.appender.S1=org.apache.log4j.SharedMemoryAppender
log4j.appender.S1.MemorySize=5 MB
log4j.appender.S1.MaxFileSize=100 MB
log4j.appender.S1.MaxBackupIndex=20
log4j.appender.S1.TimeZone=GMT
log4j.logger.TM1.TILogOutput=ERROR, S2
log4j.appender.S2=org.apache.log4j.SharedMemoryAppender
log4j.appender.S2.MemorySize=5 MB
log4j.appender.S2.MaxFileSize=100 MB
log4j.appender.S2.File=C:/TM1LOGGING/RandomTesting/errorsonly.log
log4j.appender.S2.MaxBackupIndex=20
log4j.appender.S2.TimeZone=GMT
log4j.additivity.TM1.S2=true
If I set Appenders S1 and S2 to be log4j.logger.TM1.TILogOutput then I'm kinda back to where I started - tm1server.log contains nothing, and errorsonly.log contains the lines for ERROR and FATAL only.
Do you think my expectations of how this could work are out-of-whack or am I missing something else I need?
--
Cheers, Hippo
Cheers, Hippo