CN108255688B - 应用程序日志的显示方法、存储介质、电子设备及系统 - Google Patents
应用程序日志的显示方法、存储介质、电子设备及系统 Download PDFInfo
- Publication number
- CN108255688B CN108255688B CN201810011739.0A CN201810011739A CN108255688B CN 108255688 B CN108255688 B CN 108255688B CN 201810011739 A CN201810011739 A CN 201810011739A CN 108255688 B CN108255688 B CN 108255688B
- Authority
- CN
- China
- Prior art keywords
- log
- application program
- log information
- information
- displaying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用程序日志的显示方法、存储介质、设备及系统,涉及应用开发技术领域。该方法包括以下步骤:在移动客户端上运行应用程序,获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件;创建日志显示界面,在日志显示界面中显示所述日志文件中的日志信息。本发明直接运行应用程序就可以查看日志,无需使用开发工具对应用程序进行编译和链接,能够有效提高应用程序的开发效率。
Description
技术领域
本发明涉及应用开发技术领域,具体来讲是一种应用程序日志的显示方法、存储介质、设备及系统。
背景技术
随着手机移动端的快速发展,应用程序(Application,APP)的功能越来越复杂,需要开发和维护的模块越来越多。在应用程序的开发和调试的过程中,经常会输出日志(log),所谓日志就是应用程序运行过程中输出的供开发人员使用和观察数据的信息,这些信息对于开发人员发现并解决错误、缺陷、性能问题极为重要,可以一步步知道应用程序的流程逻辑是否正确。每次查看应用程序的日志通常需要将移动客户端连接到电脑上相应的开发工具,通过开发工具进行编译和链接,整个过程比较耗时,造成开发效率较低,而且随着程序代码的数量的增加,对电脑性能的要求也相应提高。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种应用程序日志的显示方法、存储介质、设备及系统,直接运行应用程序就可以查看日志,无需使用开发工具对应用程序进行编译和链接,能够有效提高应用程序的开发效率。
为达到以上目的,本发明采取的技术方案是:提供一种应用程序日志的显示方法,该方法包括以下步骤:
在移动客户端上运行应用程序,获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件;
创建日志显示界面,在日志显示界面中显示所述日志文件中的日志信息。
在上述技术方案的基础上,获取应用程序运行过程中所产生的所有日志信息的具体流程包括:
定时获取应用程序默认的主线程的并行队列;
依次获取所述并行队列中当前进程的日志信息。
在上述技术方案的基础上,依次获取所述并行队列中当前进程的日志信息的具体流程包括:
调用应用程序日志输出接口,创建一个应用程序的日志数据库的查询对象;
调用应用程序编程接口,依次获取所述并行队列中当前进程的线程标示;
调用应用程序日志输出接口,根据所述线程标示和所述查询对象,从应用程序的日志数据库中查询该线程标示对应的日志信息;
将查找到的日志信息存入所述日志文件。
在上述技术方案的基础上,在日志显示界面中,按照设定的文本格式显示所述日志文件中的日志信息,所述文本格式包括字体大小和文字的断行模式。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述应用程序日志的显示方法的步骤。
本发明还提供一种控件呈现设备,包括存储器、处理器及存储在存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用程序日志的显示方法的步骤。
本发明还提供一种应用程序日志的显示系统,该系统包括日志获取模块、存储单元和日志显示模块;
所述日志获取模块用于:在移动客户端上获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件;
所述存储单元用于:存储所述日志文件;
所述日志显示模块用于:创建日志显示界面,在日志显示界面中显示所述日志文件中的日志信息。
在上述技术方案的基础上,所述日志获取模块包括定时器创建单元、线程信息获取单元和日志信息获取单元;
所述定时器创建单元用于:创建定时器,并在定时器设定时间内启动所述线程信息获取单元;
所述线程信息获取单元用于:获取应用程序默认的主线程的并行队列;
所述日志信息获取单元用于:依次获取所述并行队列中当前进程的日志信息,并将得到的日志信息存入所述日志文件。
在上述技术方案的基础上,所述日志显示模块用于在日志显示界面中,按照设定的文本格式显示所述日志文件中的日志信息,所述文本格式包括字体大小和文字的断行模式。
在上述技术方案的基础上,所述日志获取模块、存储单元和日志显示模块均设于容器中。
与现有技术相比,本发明的优点在于:
(1)直接运行应用程序就可以查看日志,无需使用开发工具对应用程序进行编译和链接,能够有效提高应用程序的开发效率。
(2)定时获取并行队列,并依次获取并行队列中当前进程的日志信息,在获取大量的日志信息时,可以避免线程阻塞。
附图说明
图1为本发明实施例应用程序日志的显示方法的流程图;
图2为本发明实施例中电子设备的结构示意图;
图3为本发明实施例中应用程序日志的显示系统的结构框图;
图4为本发明实施例中日志获取模块的具体结构框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种应用程序日志的显示方法,该方法包括以下步骤:
S1.在移动客户端上运行应用程序,获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件。
在一种实施方式中,创建一个定时器,每隔设定的时间执行定时器的回调方法,在每个回调方法内部,通过自定义的函数showAllLog,来获取所有打印的日志信息,这个showAllLog函数没有返回值,也没有参数,这个函数的实现过程如下:
S11定时获取应用程序默认的主线程的并行队列。
可以理解的是,步骤S11中的应用程序默认的主线程的并行队列的获取方式由该应用程序所基于的操作系统确定,例如,在IOS操作系统中,通过调用GCD(Grand CentralDispatch)应用程序编程接口(Application Programming Interface,API),设置系统默认的并行队列的优先级为DISPATCH_QUEUE_PRIORITY_DEFAULT。使用创建并行队列的方法dispatch_get_global_queue,获取系统默认的并行队列,再在并行队列的内部获取日志数据库中存储的日志信息。定时获取系统默认的并行队列,并依次获取并行队列中当前进程的日志信息,在获取大量的日志信息时,可以避免线程阻塞。
S12依次获取并行队列中当前进程的日志信息。
在一种实施方式中,步骤S12通过自定义的函数getAllMsg,来获取并行队列中当前进程的日志信息,这个getAllMsg函数内部的具体流程包括:
S121调用应用程序日志输出接口,创建一个连接系统的日志数据库的查询对象。
可以理解的是,步骤S121中所调用的应用程序日志输出接口由该应用程序所基于的操作系统确定,还是以IOS操作系统为例,Apple System Log(ASL)是IOS操作系统实现输出日志的一套API。使用asl_new函数创建一个连接系统的日志数据库的查询对象,这个对象的名字是query,此处获取的是一个移动客户端的日志数据库。
S122调用应用程序编程接口,依次获取并行队列中当前进程的线程标示。
还是以IOS操作系统为例,使用processInfo函数获得线程信息类NSProcessInfo的对象,使用该线程信息类的对象去获得当前线程的线程标示pid,其中,获取线程标示的函数是processIdentifier。
S123调用应用程序日志输出接口,根据线程标示和查询对象,从应用程序的日志数据库中查询该线程标示对应的日志信息。
还是以IOS操作系统为例,调用查询当前线程的日志信息函数asl_set_query,这个函数需要上述两个参数:pid和query,拿到这两个参数就可以查询日志信息,查询到的日志信息保存在query之中。
使用asl_search函数去获取query中符合条件的日志信息,所谓的符合条件就是pid对应的日志信息,这样就可以获取一个日志的响应response。
S124将查找到的日志信息存入日志文件。
可以预先定义数组msgArr,用于存储所有查找到的日志信息。从response中取出日志信息,将取到的日志信息存储到数组msgArr中。
步骤S11和S12通过子线程同步的方法,在获取大量的日志信息时,可以避免线程阻塞。
S2.创建日志显示界面,在日志显示界面中显示日志文件中的日志信息。
还是以IOS操作系统为例,步骤S2具体包括以下流程:
回到主线程刷新用户界面(User Interface,UI),根据移动端的特性,显示日志信息需要在主线程进行,获取日志信息之后,创建一个列表控件tableView,设置tableView分割线的样式,这里需要让所有的日志信息在显示时是连续的,所以设置tableView的分割线样式为UITableViewCellSeparatorStyleNone,代表没有分割。调用刷新方法reloadData,将所有的日志信息显示出来。
在一种实施方式中,按照设定的文本格式显示日志信息,文本格式包括字体大小和文字的断行模式。
上述msgArr数组中的每个元素都是一条日志信息,每条日志信息占用列表的一格,列表的每一格都有高度,需要计算出每条日志信息的高度,以正确地将显示出每条日志信息,计算每条日志信息的高度的过程如下:
获取当前显示的日志信息的宽度width,拼接一个文本宽度和高度的最大值,这个文本宽度的最大值是width,高度的最大值是无限大。
使用文本的宽度计算方法为:使用日志信息调用文本宽度和高度的计算方法boundingRectWithSize,这个方法需要几个参数,主要的参数是设置文本的字体大小和文字的断行模式,根据上述方法就可以计算出一个文本的宽度和高度,将宽度和高度赋值给列表对应的每条日志信息的宽度和高度,就可以显示出每条日志信息。
本发明实施例直接运行应用程序就可以查看日志,无需使用开发工具对应用程序进行编译和链接,能够有效地提高应用程序的开发效率。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述应用程序日志的显示方法。需要说明的是,存储介质包括U盘、移动硬盘、ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用程序日志的显示方法。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
参见图3所示,本发明实施例还提供一种应用程序日志的显示系统,该系统包括日志获取模块、存储单元和日志显示模块。
其中,日志获取模块用于:在移动客户端上获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件。
存储单元用于:存储日志文件。
日志显示模块用于:创建日志显示界面,在日志显示界面中显示日志文件中的日志信息。
具体的,按照设定的文本格式显示日志信息,文本格式包括字体大小和文字的断行模式。
进一步的,参见图4所示,日志获取模块包括定时器创建单元、线程信息获取单元和日志信息获取单元。其中,定时器创建单元用于:创建定时器,并使得定时器在设定时间内启动线程信息获取单元。线程信息获取单元用于:获取应用程序默认的主线程的并行队列。日志信息获取单元用于:依次获取并行队列中当前进程的日志信息,并将得到的日志信息存入日志文件。
进一步的,日志获取模块、存储单元和日志显示模块均设于容器中,是可以在应用程序内显示日志信息的容器。还是以IOS操作系统为例,创建一个控制器,这个控制器的名称是systemLogController,这个systemLogController控制器继承与应用程序所基于的系统的列表控制器,所谓列表控制器是具有显示列表的东西的一些特定的属性,使用列表控制器能够很方便、快捷地显示列表。该控制器systemLogController具体包括:
1)定义属性
定义一个属性,这个属性是数组msgArr,msgArr用于存储所有获取的日志信息,另外定义一个属性logTimer作为定时器,保证定时地从系统日志数据库中抓取日志信息并在移动客户端上显示出来。
1)在控制器的初始化方里面进行信息初始化的创建
创建一个tableView列表控件,创建tableView列表控件只有使用addsubView的方法加到当前的控制器中,设置控制器的标题,设置tableView分割线的样式,这里需要让所有的日志信息看起来连续,所以此处设置tableView列表控件的分割线的样式为UITableViewCellSeparatorStyleNone,代表没有分割。
将日志显示系统的各模块都放在一个控制器中,可以最大限度地降低耦合,实现了日志显示系统的模块化和独立化。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (9)
1.一种应用程序日志的显示方法,其特征在于,该方法包括以下步骤:
在移动客户端上运行应用程序,获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件;
创建日志显示界面,在日志显示界面中显示所述日志文件中的日志信息;
其中,所述应用程序内包括用于显示日志信息的容器,且日志信息的获取、日志信息的存储和日志信息的显示均由容器中的控制器控制完成,所述控制器继承于应用程序所基于的系统的列表控制器;
所述控制器具有定义属性功能和进行信息初始化的创建功能,定义的属性包括数组msgArr和属性logTimer,所述数组msgArr用于存储获取的日志信息,所述属性logTimer为定时器,用于定时抓取日志信息并显示,所述信息初始化的创建为创建一个tableView列表控件,使用addsubView方法将创建的tableView列表控件加载到控制器中,设置控制器的标题,并设置tableView分割线的样式为没有分割。
2.如权利要求1所述的应用程序日志的显示方法,其特征在于,获取应用程序运行过程中所产生的所有日志信息的具体流程包括:
定时获取应用程序默认的主线程的并行队列;
依次获取所述并行队列中当前进程的日志信息。
3.如权利要求2所述的应用程序日志的显示方法,其特征在于,依次获取所述并行队列中当前进程的日志信息的具体流程包括:
调用应用程序日志输出接口,创建一个应用程序的日志数据库的查询对象;
调用应用程序编程接口,依次获取所述并行队列中当前进程的线程标示;
调用应用程序日志输出接口,根据所述线程标示和所述查询对象,从应用程序的日志数据库中查询该线程标示对应的日志信息;
将查找到的日志信息存入所述日志文件。
4.如权利要求1所述的应用程序日志的显示方法,其特征在于:在日志显示界面中,按照设定的文本格式显示所述日志文件中的日志信息,所述文本格式包括字体大小和文字的断行模式。
5.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
6.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至4任一项所述的方法。
7.一种应用程序日志的显示系统,其特征在于:该系统包括日志获取模块、存储单元和日志显示模块;
所述日志获取模块用于:在移动客户端上获取应用程序运行过程中所产生的所有日志信息,并存入指定的日志文件;
所述存储单元用于:存储所述日志文件;
所述日志显示模块用于:创建日志显示界面,在日志显示界面中显示所述日志文件中的日志信息;
其中,所述应用程序内包括用于显示日志信息的容器,所述日志获取模块、存储单元和日志显示模块均设于容器中,且日志信息的获取、日志信息的存储和日志信息的显示均由容器中的控制器控制完成,所述控制器继承于应用程序所基于的系统的列表控制器;
所述控制器具有定义属性功能和进行信息初始化的创建功能,定义的属性包括数组msgArr和属性logTimer,所述数组msgArr用于存储获取的日志信息,所述属性logTimer为定时器,用于定时抓取日志信息并显示,所述信息初始化的创建为创建一个tableView列表控件,使用addsubView方法将创建的tableView列表控件加载到控制器中,设置控制器的标题,并设置tableView分割线的样式为没有分割。
8.如权利要求7所述的应用程序日志的显示系统,其特征在于:所述日志获取模块包括定时器创建单元、线程信息获取单元和日志信息获取单元;
所述定时器创建单元用于:创建定时器,并在定时器设定时间内启动所述线程信息获取单元;
所述线程信息获取单元用于:获取应用程序默认的主线程的并行队列;
所述日志信息获取单元用于:依次获取所述并行队列中当前进程的日志信息,并将得到的日志信息存入所述日志文件。
9.如权利要求7所述的应用程序日志的显示系统,其特征在于:所述日志显示模块用于在日志显示界面中,按照设定的文本格式显示所述日志文件中的日志信息,所述文本格式包括字体大小和文字的断行模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810011739.0A CN108255688B (zh) | 2018-01-05 | 2018-01-05 | 应用程序日志的显示方法、存储介质、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810011739.0A CN108255688B (zh) | 2018-01-05 | 2018-01-05 | 应用程序日志的显示方法、存储介质、电子设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255688A CN108255688A (zh) | 2018-07-06 |
CN108255688B true CN108255688B (zh) | 2021-05-28 |
Family
ID=62725687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810011739.0A Active CN108255688B (zh) | 2018-01-05 | 2018-01-05 | 应用程序日志的显示方法、存储介质、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255688B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408337B (zh) * | 2018-10-31 | 2021-12-28 | 京东方科技集团股份有限公司 | 一种接口运维的方法及装置 |
CN109783384A (zh) * | 2019-01-10 | 2019-05-21 | 未来电视有限公司 | 日志用例测试方法、日志用例测试装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527153A (zh) * | 2008-12-08 | 2009-09-09 | 中国移动通信集团广东有限公司 | 使异步的传递文本和音视频数据在移动终端同步显示的方法 |
WO2014191728A1 (en) * | 2013-05-30 | 2014-12-04 | Anite Telecoms Limited | Method and apparatus for logging data records |
CN105975351A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种用户行为消息上报方法和装置 |
CN106294345A (zh) * | 2015-05-13 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 应用程序的日志内容的处理方法和装置 |
CN107332703A (zh) * | 2017-06-28 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 一种多应用日志的查看方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195670A1 (en) * | 2007-02-12 | 2008-08-14 | Boydstun Louis L | System and method for log management |
-
2018
- 2018-01-05 CN CN201810011739.0A patent/CN108255688B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527153A (zh) * | 2008-12-08 | 2009-09-09 | 中国移动通信集团广东有限公司 | 使异步的传递文本和音视频数据在移动终端同步显示的方法 |
WO2014191728A1 (en) * | 2013-05-30 | 2014-12-04 | Anite Telecoms Limited | Method and apparatus for logging data records |
CN106294345A (zh) * | 2015-05-13 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 应用程序的日志内容的处理方法和装置 |
CN105975351A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种用户行为消息上报方法和装置 |
CN107332703A (zh) * | 2017-06-28 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 一种多应用日志的查看方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108255688A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN102841841B (zh) | 一种测试中的断言处理方法及系统 | |
CN103049375B (zh) | 一种摄像头在线调试方法 | |
CN104679500B (zh) | 实体类自动生成实现方法及装置 | |
CN108255688B (zh) | 应用程序日志的显示方法、存储介质、电子设备及系统 | |
CN109976743B (zh) | 一种代码提示的方法及装置 | |
CN112506518B (zh) | 基于配置文件的编译方法和装置 | |
CN104615602A (zh) | 查询界面自动生成实现装置及其方法 | |
CN109388425B (zh) | 一种前端工程的接口切换方法、系统、装置和存储介质 | |
CN111934908A (zh) | 一种物联网模拟方法、装置、系统及存储介质 | |
CN112817866A (zh) | 录制回放方法、装置、系统、计算机设备以及存储介质 | |
JP7366664B2 (ja) | オフラインブリーフケース同期 | |
US20240143658A1 (en) | Methods and apparatuses for inserting data into graph database | |
CN113515564A (zh) | 基于j2ee的数据访问方法、装置、设备及存储介质 | |
CN109684351B (zh) | 一种执行计划查看方法、装置、服务器及存储介质 | |
CN111343269A (zh) | 一种数据下载方法、装置、计算机设备和存储介质 | |
CN116738954A (zh) | 报表导出方法、报表模板的配置方法、装置、计算机设备 | |
CN110058996B (zh) | 程序调试方法、装置、设备和存储介质 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
CN105095093A (zh) | 一种智能终端性能测试方法及系统 | |
CN103677846A (zh) | 一种SQLite数据库开发工具包及开发方法 | |
CN109032582A (zh) | 一种生成服务器运维脚本的方法及装置 | |
CN114691265A (zh) | 一种软件界面结构化元素的批量抓取方法 | |
CN111124820B (zh) | 一种实现操作系统及进程资源离线型监视和分析的方法 | |
CN113110885A (zh) | 一种应用软件连接数据库的方法、存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |