ОСОБЛИВОСТІ ЛОГУВАННЯ ДАНИХ ТА ВПЛИВ ТИПУ ДОДАТКАНА ВИБІР МЕТОДОЛОГІЇ ЛОГУВАННЯ
PECULIARITIES OF DATA LOGGING AND INFLUENCE OF APPLICATION TYPE ON THE CHOICE OF LOGGING METHODOLOGY
Сторінки: 98-101. Номер: №6, 2022 (315)
Автори:
КАПІТАНЕЦЬ Степан
Хмельницький національний університет
e-mail: stepan.kapitanets@gmail.com
РАДЕЛЬЧУК Галина
Хмельницький національний університет
ORCID ID: 0000-0002-9728-4390
e-mail: gal_2015@ukr.net
KAPITANETS Stepan
RADELCHUK Galina
Khmelnytsky National University, Ukraine
DOI: https://www.doi.org/10.31891/2307-5732-2022-315-6-98-101
Анотація мовою оригіналу
Для підвищення надійності програмних систем та своєчасного виявлення проблем використовується журналювання (логування) даних. Вивчаючи журнали додатків, розробники програмного забезпечення можуть виявляти аномалії та помилки у роботі програмних систем, знайти причину і надати оновлення чи патч із виправленнями. Тим не менше, не дивлячись на важливість практики логування даних, у більшій частині випадків цей процес відбувається хаотично. Розробники пишуть код журналювання виключно на основі своїх власних міркувань або ж взагалі нехтують ним.
У статті описано дослідження, яке було зосереджене на стратегіях логування, що використовуються на реальних проектах різних типів. Було проведено дослідження методів логування десктопних та веб-додатків, а також запропоновано покращення для методології створення журнальованих даних, які роблять її більш гнучкою та зручною для команд розробників програмного забезпечення, незалежно від типів розроблюваних додатків.
Ключові слова: журналювання даних, логування, виявлення аномалій, виявлення помилок, методологія журналювання.
Розширена анотація англійською мовою
Software is not perfect and may contain bugs that cannot be detected by tests, or that will manifest themselves only over time. Sometimes problems can occur even in the code of third-party libraries or services that are used in the software system. To improve the reliability of software systems and timely detection of problems, data logging is used. Logging is a very important aspect of software development. By studying application logs, software developers can detect anomalies and errors in software systems, find the cause and provide an update or patch with fixes. Nevertheless, despite the importance of data logging practice, in most cases this process is chaotic. Developers write logging code solely based on their own considerations or neglect it altogether.
This study points to the need to improve the state of research on data logging practices. For example, more efforts should be made to define what exactly to log, to generate logging data in a clear way and from the developer’s point of view with enough information to recreate the events even without having to run the application. This article describes ways in which this can be achieved.
This research aims to establish a comprehensive understanding of the state of the art in data logging research with an emphasis on identifying possible problems and gaps that will further shed light on potential future research directions. This paper describes a study that focused on logging strategies used on real projects of different types. It investigated logging methods for desktop and web applications, and proposed improvements to the logging methodology that make it more flexible and convenient for software development teams regardless of the types of applications being developed.
Keywords: data logging, logging, anomaly detection, error detection, logging methodology.
References
- Chuvakin A. & Peterson G. How to Do Application Logging Right. IEEE Security & Privacy, 2010. 8, no. 4, July/Aug. P. 82-85.
- Marty R. Cloud application logging for forensics. Proceedings of the 2011 ACM Symposium on Applied Computing (SAC). March 21-24, 2011, TaiChung, Taiwan. P. 178-184.
- Idan H. The complete guide to Java logging in production. OverOps. URL: https://land.overops.com/java-logging-in-production-ebook/
- Xu W., Huang L., Fox A., Patterson D., Jordan M. I. Detecting large-scale system problems by mining console logs. SOSP ’09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. October, 2009. Pages 117–132. https://doi.org/10.1145/1629575.1629587
- Apache Log4j 2. Logging Servises. URL: http://logging.apache.org/log4j/2.x/
- Simple Logging Facade for Java (SLF4J). SLF4J. URL: http://www.slf4j.org/
- Logback Project. LOGBACK. URL: http://logback.qos.ch/
- Package java.util.logging. Java™ Platform, Standard Edition 8 API Specification. URL: https://docs.oracle.com/javase/7/docs/api/java/util/logging/packagesummary.html
- Java Logging Tools and Libraries. Guide and directory of Java logging tools, libraries and articles. URL: http://www.java-logging.com/
- .NET Logging Tools and Libraries. The definitive directory and guide to .NET logging tools, frameworks and articles. URL: http://www.dotnetlogging.com/
- The Apache log4net project. Logging Servises. URL: https://logging.apache.org/log4net/
- Flexible & free open-source logging for .NET. NLog. URL: https://nlog-project.org/
- PostSharp Diagnostics: Logging and Tracing. #POSTSHARP. URL: https://www.postsharp.net/¬diagnostics/net-logging
- Clarke S., Harrison W., Ossher H., Tarr P. Subject-oriented design: towards improved alignment of requirements, design, and code. ACM SIGPLAN Notices. Oct. 1999. Volume 34. Issue 10. P. 325-339. https://doi.org/10.1145/320385.320420