Remove "No Transaction Data" Logs

Im using Reframework for a process. It keeps looping to look for email. If there’s email then it continues the process, but if no email, just keep looping. however, the logs is full of “No Transaction Data” when it keeps looping.
How do i remove that loggin such that it does not log when there is no transaction, as it is taking up too much space.

Hello @TyraS ,

If you want to modify the behavior, you can remove the Log message from here:

I hope it helps.

Vasile.

1 Like

Hi, I found the No data, but there’s no log message in the Action part.

What’s the exact message you get? A screenshot if possible…

I dont have the logs now. In the log, there are many lines of “No Transaction Data”. If there is data, the messages appeared in the logs are what i keyed in for log messages. If there is no data, and keeps looping, it just shows"No Transaction Data" every loops

It’s a standard log message for the Get Transaction Activity, I don’t think you can change it.

I’m confused though, if you’re looking for email what are you using the Get Transaction for?

A better way to do things like this is with a Queue, and a Dispatcher/Performer model. You write one Process (dispatcher) that looks for emails and if it finds them, puts the needed data into a Queue Item. Then you write a second Process (performer) that takes things from the Queue and processes them, and set up a Queue Trigger to kick off the second Process.

Ohhh. Both using REframework? Will be searching for email every seconds, even if I separate them onto 2 process. The first will still be looping

It’s likely that REFramework is overkill and overcomplicated for what you’re doing, but yes. Dispatcher/performer model is a good strategy for things like this. Makes both processes simpler.

Also, searching for email every few seconds also seems like overkill. Unless it’s absolutely necessary I suggest scheduling the dispatcher to run not that frequently. Just have the dispatcher run, look for emails, put them into the Queue if there are any, and quit. Then schedule it for every hour, every 15 minutes, something like that.

You should consider how long it takes the performer to process one item, and what volume it will have. If it’s going to take 2 minutes to process an item, and you expect 10 items at a time, then there’s no point to having the dispatcher run every few seconds.

so you cannot find the log activity that logs “No Transaction Data”? I don’t believe that log is part of the original REFramework. You can do a search for it or step through the code

It comes from the Get Transaction Item activity automatically

Ahh i see

Because once an email comes in, bot is supposed to process immediately, hence I did it by using the REframework and keeps looping.
I’ve tried the stepping method by @nameless , seems that at the get transaction activity, it returns “No Transaction Data”.

That’s because you aren’t working out of a Queue so the Get Transaction activity isn’t finding anything.

Sorry, I didn’t realize this is one of the lessons with specific requirements. I thought it’s a real world automation.

UiPath should give us a way to disable these default log messages on some activities, like this “No transaction Data” on Get Transaction activy, and Audit XXX on the new Extract Data

You can use Get Queue Items activity and get all new items. Then check queueitems.count>0. use get transaction item only if count>0. so you wont be using get transaction item when there are no new items.