Systems' performance evaluation and improvement are endless as long as a system runs. This requires several records of data containing the chronological order of executed process. In this case, logging comes into action. Logging is a mechanism of recording the empirical running process in a system or software. Expected benefits from this practice include assisting the developer in debugging under the development phase. It is not only for debugging but also for compliance check and anomaly detection for a running system. The logging mechanism might vary from one system to another, especially if a stand-Alone system is compared to a distributed system. Thus, this survey aims to identify the existing recent works on logging state-of-The-Art along with the research objectives. The underlying architecture and considerations are summarized. A logging taxonomy becomes one of the main contributions of this study. Current research limitations and challenges are discussed, followed by several possible areas of future research directions.