Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apps converted to a callable no longer log in real time #4914

Closed
jessemapel opened this issue Apr 18, 2022 · 3 comments · Fixed by #4990
Closed

Apps converted to a callable no longer log in real time #4914

jessemapel opened this issue Apr 18, 2022 · 3 comments · Fixed by #4990
Assignees
Labels
bug Something isn't working

Comments

@jessemapel
Copy link
Contributor

ISIS version(s) affected: varies by app. Conversion started at 3.7, so 3.7+

Description

Apps that have been converted to a callable function no longer log directly to the application, instead they log to a PVL object and then upon completion log its whole contents to the application.

How to reproduce

This is most notable with jigsaw. If you run jigsaw in ISIS 4.4 or later it won't log until it reaches the very end of the process.

Possible Solution

One possible solution is to create a logger object that logs things, if possible, as we add to it. This would be similar to the current Application::log function, but it would be an object passed into function calls similar to our process objects.

@jessemapel jessemapel added the bug Something isn't working label Apr 18, 2022
@lwellerastro
Copy link
Contributor

This doesn't seem to be an issue for most programs that run quickly, but it's very noticeable with jigsaw which can take > 1 hour to run even a single iteration on some networks. It makes it hard to see what is happening particularly with cluster runs when you are already in the dark.

@Kelvinrr Kelvinrr self-assigned this Jul 8, 2022
@Kelvinrr
Copy link
Collaborator

The best approach to this might be to subclass Pvl and have a log object that reports as things are added with Applcation::Log even without an iApp instance. That way we can still return the results as PVL and not have to update every callable.

@Kelvinrr
Copy link
Collaborator

idk why I thought a new class was gonna be easier, it required updating way more stuff manually. Decided to make a new function instead which made things way easier to update.

jessemapel pushed a commit that referenced this issue Jul 18, 2022
* updated how pvl logs work in order to report as groups are added to a pvl log

* removed non-exitant header

* constness is dumb

* applog case sensativity

* missed a spot

* ugh

* removed forward declare

* added changelog line
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants