AbsaOSS / AbsaOSS/enceladus

Use slf4j instead of log4j everywhere in the project

Open
#802 0 comments 0 reactions 0 assignees View on GitHub
feature priority: low refactoring
Dominant language
Scala
Stars
33
Forks
16
PR merge metrics
No merged PRs in 30d

Description

## Background
Reported by @GeorgiChochov.

Slf4j is an abstraction layer for logging and exact implementation to use is determined at deployment time. Currently, Spark is our root project dependency and it uses log4j implementation. Rather than depending on a concrete logging backend, it is a good practice to make modules depend on interfaces provided by slf4j. In our case, the logging backend is provided by Spark. So another reason to use slf4j.

## Feature
Use slf4j instead of log4j everywhere in the project. Especially everywhere we have Spark dependency.

## Proposed Solution [Optional]
Basically,

replace

```scala
import org.apache.log4j.LogManager

private val log = LogManager.getLogger(this.getClass)
```

with

```scala
import org.slf4j.{Logger, LoggerFactory}

private val log: Logger = LoggerFactory.getLogger(this.getClass)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.