-
Notifications
You must be signed in to change notification settings - Fork 909
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
New module/file_out: Module to log custom strings to file #3741
Conversation
@miconda any suggestions regarding the name? Maybe going for the existing "log_" prefix, like log_file, log_file_out or similar? |
I have no suggesting about a better name right now, I can think about. Probably Otherwise upon a quick look, some files are missing the copyright at the top. And I would suggest to add prefix (rename) to the structures used by the module, because Node, Queue ... are too common names. |
Thanks for the feedback, the copyright will be added uniformly, and also extend the prefix, sure. Then lets keep the file_out name for now until somebody else has a better idea. |
How about |
@miconda Thanks for the feedback, fixed. |
Thanks for the feedback as well @ovidiusas. The name file_log sounds also good. Regarding the use of an actual file name, its a good idea and can be probably done without performance impact with a fixup function. We will look into that. I would merge the module manually in some hours (to do the quick rename), and then the further changes can be done directly in the repository. |
If performance is crucial, we can keep the index as a first parameter for the
Populate slot |
I would not recommend using the word |
Ok, keep it like this then, no special preference from our side. :-) |
How about |
Merged it like this for now as the freeze is coming up
|
Adding a few more details, previous comment was done on mobile, typing there on the web form is not the easiest. I think that log_file would be a candidate for the name of a module that writes all the logs in a file, similar to log_custom that sends all the log to an udp target. Then having a module named log_file and another one file_log would look rather confusing. Renaming can still be done till the branch 5.8 is created, even if it is past the freezing time. First part of testing phase is to tune accordingly the new features to be more suitable for long term maintenance. Names that came meanwhile in my mind would be: fqwrite (file-queued-write); fqout (fout being rather commonly used to name output file variables, adding q for queuing). This just ideas if renaming is still considered, of course other variant can be used. |
Pre-Submission Checklist
in
doc/
subfolder, the README file is autogenerated)Type Of Change
Checklist:
Description
This pull request is intended to introduce a new, straightforward module that can efficiently stream output to files while also handling changes based on a specific interval. The module contains only one function that streams a chunk of text to the current output file handle associated with the given file index.
It's not 100% completed but the basic features are there. Any reviews and of course naming of the module, much appreciated.
How the module works:
base_folder
to define where you want your logs to be saved.base_filename
(up to 10) to define the names of your files. Each is associated with an index according to the order you defined it. Firstbase_filename
's index is 0, second's index is 1 and so on. This is appended with a new timestamp wheninterval_seconds
are passed.interval_seconds
to define how much time before the file is closed and a new one is opened. Right now shared for all files.extension
to define what should be the extension of files. Right now shared for all files.Use the provided function
file_out
to write any text (including pvs) to a specific file you want.Example:
Define parameters such as: