[FFmpeg-devel] [PATCH] cmdutils: add log time info into report log file

Nicolas George george at nsup.org
Fri Jun 2 19:30:57 EEST 2017


Le quintidi 15 prairial, an CCXXV, Steven Liu a écrit :
> add time info into every line of log report
> the time info can be used to find out error message occur time.
> 
> Signed-off-by: Steven Liu <lingjiujianke at gmail.com>
> ---
>  cmdutils.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/cmdutils.c b/cmdutils.c
> index 3d428f3eea..b760a0565d 100644
> --- a/cmdutils.c
> +++ b/cmdutils.c
> @@ -47,6 +47,7 @@
>  #include "libavutil/libm.h"
>  #include "libavutil/parseutils.h"
>  #include "libavutil/pixdesc.h"
> +#include "libavutil/time.h"
>  #include "libavutil/eval.h"
>  #include "libavutil/dict.h"
>  #include "libavutil/opt.h"
> @@ -103,6 +104,8 @@ void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
>  static void log_callback_report(void *ptr, int level, const char *fmt, va_list vl)
>  {
>      va_list vl2;
> +    char *tmp_string = NULL;
> +    char time_value[32];
>      char line[1024];
>      static int print_prefix = 1;
>  
> @@ -111,7 +114,10 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v
>      av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix);
>      va_end(vl2);
>      if (report_file_level >= level) {
> -        fputs(line, report_file);

> +        snprintf(time_value, sizeof(time_value), "\n[%"PRId64"] - ", av_gettime());
> +        tmp_string = av_strireplace(line, "\n", time_value);

It looks like you are printing the time of a line at the beginning of
the next line. Or am I missing something.

Also, I do not like the dynamic alloc in this function, especially since
the same task can be done without: find \n, print the time and the
single line, loop.

> +        fputs(tmp_string, report_file);
> +        av_free(tmp_string);
>          fflush(report_file);
>      }
>  }

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170602/ac3e46c6/attachment.sig>


More information about the ffmpeg-devel mailing list