libvlc 日志



1、参考代码:libvlc.h  libvlc_structures.h

2、相关函数

   

VLC_PUBLIC_API unsigned libvlc_get_log_verbosity( const libvlc_instance_t *p_instance,

                                                  libvlc_exception_t *p_e );

 * Return the VLC messaging verbosity level.

VLC_PUBLIC_API void libvlc_set_log_verbosity( libvlc_instance_t *p_instance, unsigned level,

                                              libvlc_exception_t *p_e );

 * Set the VLC messaging verbosity level[0,1,2].

VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( libvlc_instance_t *, libvlc_exception_t *);

 * Open a VLC message log instance.

 *\return log message instance

VLC_PUBLIC_API void libvlc_log_close( libvlc_log_t *, libvlc_exception_t *);

 * Close a VLC message log instance.

VLC_PUBLIC_API unsigned libvlc_log_count( const libvlc_log_t *, libvlc_exception_t *);

 * Returns the number of messages in a log instance.

 VLC_PUBLIC_API void libvlc_log_clear( libvlc_log_t *, libvlc_exception_t *);

 * Clear a log instance.

 * All messages in the log are removed. The log should be cleared on a

 * regular basis to avoid clogging.

VLC_PUBLIC_API libvlc_log_iterator_t *libvlc_log_get_iterator( const libvlc_log_t *, libvlc_exception_t *);

 * Allocate and returns a new iterator to messages in log.

 * \return log iterator object

VLC_PUBLIC_API void libvlc_log_iterator_free( libvlc_log_iterator_t *p_iter, libvlc_exception_t *p_e );

 * Release a previoulsy allocated iterator.

VLC_PUBLIC_API int libvlc_log_iterator_has_next( const libvlc_log_iterator_t *p_iter, libvlc_exception_t *p_e );

 * Return whether log iterator has more messages.

VLC_PUBLIC_API libvlc_log_message_t *libvlc_log_iterator_next( libvlc_log_iterator_t *p_iter,          

                                                     libvlc_log_message_t *p_buffer,        

                                                       libvlc_exception_t *p_e );

 * Return the next log message.

数据结构

 /** This structure is opaque. It represents a libvlc log instance */
 typedef struct libvlc_log_t libvlc_log_t;


 /** This structure is opaque. It represents a libvlc log iterator */
 typedef struct libvlc_log_iterator_t libvlc_log_iterator_t;


 typedef struct libvlc_log_message_t
 {
     int         i_severity;   /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */
     const char *psz_type;     /* module type */
     const char *psz_name;     /* module name */
    const char *psz_header;   /* optional header */
     const char *psz_message;  /* message */
 } libvlc_log_message_t;

方法:

首先开启日志 libvlc_log_open,设置冗余度 

libvlc_get_log_verbosity()libvlc_set_log_verbosity()

设置定时器定时访问日志

libvlc_log_get_iterator();

迭代输出 while(libvlc_log_iterator_has_next(p_iter_temp, &ex ))

{

libvlc_log_iterator_next( p_iter_temp,&buffer,&ex );

}

libvlc_log_iterator_free(p_iter_temp,&ex);

libvlc_log_clear(p_log_t_temp,&ex);

注意清空,消息只能存储256条,多了溢出。

关闭定时器

关闭日志libvlc_log_close

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值