Log++ logging for a cloud-native world

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


Logging is a fundamental part of the software development and deployment lifecycle but logging support is often provided as an afterthought via limited library APIs or third-party modules. Given the critical nature of logging in modern cloud, mobile, and IoT development workflows, the unique needs of the APIs involved, and the opportunities for optimization using semantic knowledge, we argue logging should be included as a central part of the language and runtime designs. This paper presents a rethinking of the logger for modern cloud-native workflows. Based on a set of design principles for modern logging we build a logging system, that supports near zero-cost for disabled log statements, low cost lazy-copying for enabled log statements, selective persistence of logging output, unified control of logging output across different libraries, and DevOps integration for use with modern cloud-based deployments. To evaluate these concepts we implemented the Log++ logger for Node.js hosted JavaScript applications.

Original languageEnglish
Pages (from-to)25-36
Number of pages12
JournalACM SIGPLAN Notices
Issue number8
StatePublished - Oct 24 2018

Bibliographical note

Publisher Copyright:
© 2018 ACM.


  • JavaScript
  • Logging
  • Runtime Monitoring

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Log++ logging for a cloud-native world'. Together they form a unique fingerprint.

Cite this