Dynamic message variant in adaptive logging method

DOI: 10.31673/2409-7292.2024.030010

Authors

  • І. О. Супруненко, (Suprunenko I. O.) Cherkasy State Technological University, Cherkasy
  • В. М. Рудницький, (Rudnytskyi V. M.) Cherkasy State Technological University, Cherkasy

DOI:

https://doi.org/10.31673/2409-7292.2024.030010

Abstract

Observability is an essential part of software systems. As the scale and outreach of modern technologies grow, it becomes increasingly important to be able to pinpoint and diagnose software issues in a timely manner. One approach that is commonly used by developers involves utilizing a technique called “logging”, most likely in a form that is based on the idea of outputting log messages coupled with level of severity. This combination helps to group and categorize different reporting messages for processing afterwards. But sometimes this is not enough as some applications might be so complex and sophisticated that severity-only categorization does not scale properly. To solve this issue an adaptive logging method was introduced. It adds the concept of “log tags” and a special configuration that allows to include or exclude specific tags or their combinations. This article takes the idea of adaptive logging a step further and introduces a new plane of adaptability with dynamic message variants: a specific type of log messages with the ability to override reporting information “on the fly” without changing the source code. At first the motivation and necessity for such functionality is described in abstract terms, then a formalized model of proposed change is presented. A detailed explanation and reasoning behind certain data structures that make dynamic messages possible is presented, providing a reasonable amount of architectural considerations to make implementation in different environments and programming languages more achievable. At the end special attention is paid to some important aspects and requirements that should be carefully considered by implementers when writing their own version of adaptive logging method. The results of applying the proposed update to adaptive logging method would allow developers to have even more tools to extract information about system’s execution and incorrect behaviors easier and with greater detail.

Keywords: information security, cyber threats, observability, adaptive logging, dynamic execution.

 

References

  1. Khan, N.A., Brohi, S.N., & Zaman, N. (2020). Ten deadly cyber security threats amid Covid-19 pandemic. TechRxiv, 1-7. DOI: 36227/techrxiv.12278792.v1.
  2. Alawida M., Omolara A.E., Abiodun O.I., Al-Rajab A. (2022). A deeper look into cybersecurity issues in the wake of Covid-19: A survey. Journal of King Saud University - Computer and Information Sciences,Volume 34, Issue 10, Part A. Pages 8176-8206, ISSN 1319-1578. https://doi.org/10.1016/j.jksuci.2022.08.003.
  3. Kumar R., Sharma S., Vachhani C., Yadav N. What changed in the cyber-security after COVID-19? Computers & Security, Volume 120, 102821, ISSN 0167-4048. https://doi.org/10.1016/j.cose.2022.102821.
  4. Karpowicz, M.P. (2021). Covid-19 pandemic and internet traffic in Poland: Evidence from selected regional networks. Journal of Telecommunications and Information Technology, 3, 86-91. DOI: 10.26636/jtit.2021.154721.
  5. Baz, M., Alhakami, H., Agrawal, A., Baz, A., Khan, R.A. (2021). Impact of COVID-19 pandemic: A cybersecurity perspective. Intelligent Automation & Soft Computing, 27(3), 641-652. https://doi.org/10.32604/iasc.2021.015845.
  6. A. Shaji George. (2024). When Trust Fails: Examining Systemic Risk in the Digital Economy from the 2024 CrowdStrike Outage. Partners Universal Multidisciplinary Research Journal, 1(2), 134–152. https://doi.org/10.5281/zenodo.12828222.
  7. Routavaara I. (2020). Security monitoring in AWS public cloud. Bachelor’s Thesis. Technology Information and Communication Technology. JAMK University of Applied Sciences.
  8. Li Y., Huo Y., Zhong R., Jiang Z., Liu J., Huang J., Gu J., He P., Lyu M.R. (2024). Go Static: Contextualized Logging Statement Generation. ACM International Conference on the Foundations of Software Engineering. https://doi.org/10.48550/arXiv.2402.12958.
  9. Suprunenko, I., & Rudnytskyi, V. (2024). On specifics of adaptive logging method implementation. Bulletin of Cherkasy State Technological University, 29(1), 36-42. https://doi.org/10.62660/bcstu/1.2024.36.
  10. Rehman B. (2023). A Blend of Intersection Types and Union Types. Abstract of thesis for the degree of Doctor of Philosophy at The University of Hong Kong.
  11. Algebraic data type – HaskellWiki. Retrieved from https://wiki.haskell.org/Algebraic_data_type (last accessed at 03 of August, 2024).
  12. Wirfs-Brock A, Eich B. (2020). JavaScript: the first 20 years. Proc. ACM Program. Lang. 4, HOPL, Article 77, 189 pages. https://doi.org/10.1145/3386327.
  13. Built-in Functions — Python 3.12.4 documentation. Retrieved from https://docs.python.org/3/library/functions.html#exec (last accessed at 04 of August, 2024).

Published

2024-09-24

Issue

Section

Articles