You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/04/03 21:06:30 UTC
[08/50] [abbrv] logging-log4j-scala git commit: LOG4J2-2296: Add
minimal website generator config
LOG4J2-2296: Add minimal website generator config
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/commit/b510c122
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/tree/b510c122
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/diff/b510c122
Branch: refs/heads/master
Commit: b510c122e94c6cfb0b957f6a8ed83ecdc1057142
Parents: 53cfa5d
Author: Matt Sicker <bo...@gmail.com>
Authored: Thu Mar 29 20:13:58 2018 -0500
Committer: Matt Sicker <bo...@gmail.com>
Committed: Thu Mar 29 20:13:58 2018 -0500
----------------------------------------------------------------------
build.sbt | 1 +
log4j-api-scala_2.10/src/site/markdown/index.md | 74 ----------------
log4j-api-scala_2.11/src/site/markdown/index.md | 74 ----------------
log4j-api-scala_2.12/src/site/markdown/index.md | 74 ----------------
log4j-api-scala_2.13/src/site/markdown/index.md | 74 ----------------
project/plugins.sbt | 2 +
src/asciidoctor/index.adoc | 88 ++++++++++++++++++++
7 files changed, 91 insertions(+), 296 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/build.sbt
----------------------------------------------------------------------
diff --git a/build.sbt b/build.sbt
index 118337c..6dba52b 100644
--- a/build.sbt
+++ b/build.sbt
@@ -96,6 +96,7 @@ lazy val root = (project in file("."))
.settings(releaseSettings: _*)
.settings(apiDependencies: _*)
.settings(apiInputFiles: _*)
+ .enablePlugins(AsciidoctorPlugin)
// .enablePlugins(SbtOsgi)
// .settings(bundleSettings: _*)
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/log4j-api-scala_2.10/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.10/src/site/markdown/index.md b/log4j-api-scala_2.10/src/site/markdown/index.md
deleted file mode 100644
index ce84e3d..0000000
--- a/log4j-api-scala_2.10/src/site/markdown/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-# Log4j Scala 2.10 API
-
-## Requirements
-
-Log4j Scala API for Scala 2.10 requires Log4j API, Java 7, the Scala runtime
-library, and the Scala reflection library. To use Log4j as a logging implementation,
-then Log4j Core must also be included. Instructions on using these dependencies are
-in the [dependency information page][dependencies], and additional information is
-included in the [Log4j artifacts][artifacts] page.
-
-## Example Usage
-
-<pre class="prettyprint linenums">
-import org.apache.logging.log4j.scala.Logging
-import org.apache.logging.log4j.Level
-
-class MyClass extends BaseClass with Logging {
- def doStuff(): Unit = {
- logger.info("Doing stuff")
- }
- def doStuffWithLevel(level: Level): Unit = {
- logger(level, "Doing stuff with arbitrary level")
- }
-}
-</pre>
-
-## Configuration
-
-Log4j Scala 2.10 API uses the standard [Log4j configuration][configuration]
-plugins. This supports XML, properties files, and a configuration builder DSL by
-default, and it optionally supports JSON and YAML formats with some additional
-Jackson dependencies.
-
-## Substituting Parameters
-
-In the Java API, parameters to a log message are interpolated using various
-strategies. In the Scala API, [string interpolation][interpolation] is used
-instead. As all logger methods are implemented as macros, string construction and
-method invocations will only occur when logging is enabled for the given log
-level. For example:
-
-<pre class="prettyprint linenums">
-logger.debug(s"Logging in user ${user.getName} with birthday ${user.calcBirthday}")
-</pre>
-
-## Logger Names
-
-Most logging implementations use a hierarchical scheme for matching logger names
-with logging configuration. In this scheme the logger name hierarchy is
-represented by '.' characters in the logger name, in a fashion very similar to
-the hierarchy used for Java/Scala package names. The [`Logging` trait][logging]
-will automatically name the Logger accordingly to the class it is being used in.
-
-[dependencies]: dependency-info.html
-[artifacts]: ../maven-artifacts.html
-[configuration]: ../configuration.html
-[interpolation]: http://docs.scala-lang.org/overviews/core/string-interpolation.html
-[logging]: scaladocs/index.html#org.apache.logging.log4j.scala.Logging
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/log4j-api-scala_2.11/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.11/src/site/markdown/index.md b/log4j-api-scala_2.11/src/site/markdown/index.md
deleted file mode 100644
index 7ababf1..0000000
--- a/log4j-api-scala_2.11/src/site/markdown/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-# Log4j Scala 2.11 API
-
-## Requirements
-
-Log4j Scala API for Scala 2.11 requires Log4j API, Java 7, the Scala runtime
-library, and the Scala reflection library. To use Log4j as a logging implementation,
-then Log4j Core must also be included. Instructions on using these dependencies are
-in the [dependency information page][dependencies], and additional information is
-included in the [Log4j artifacts][artifacts] page.
-
-## Example Usage
-
-<pre class="prettyprint linenums">
-import org.apache.logging.log4j.scala.Logging
-import org.apache.logging.log4j.Level
-
-class MyClass extends BaseClass with Logging {
- def doStuff(): Unit = {
- logger.info("Doing stuff")
- }
- def doStuffWithLevel(level: Level): Unit = {
- logger(level, "Doing stuff with arbitrary level")
- }
-}
-</pre>
-
-## Configuration
-
-Log4j Scala 2.11 API uses the standard [Log4j configuration][configuration]
-plugins. This supports XML, properties files, and a configuration builder DSL by
-default, and it optionally supports JSON and YAML formats with some additional
-Jackson dependencies.
-
-## Substituting Parameters
-
-In the Java API, parameters to a log message are interpolated using various
-strategies. In the Scala API, [string interpolation][interpolation] is used
-instead. As all logger methods are implemented as macros, string construction and
-method invocations will only occur when logging is enabled for the given log
-level. For example:
-
-<pre class="prettyprint linenums">
-logger.debug(s"Logging in user ${user.getName} with birthday ${user.calcBirthday}")
-</pre>
-
-## Logger Names
-
-Most logging implementations use a hierarchical scheme for matching logger names
-with logging configuration. In this scheme the logger name hierarchy is
-represented by '.' characters in the logger name, in a fashion very similar to
-the hierarchy used for Java/Scala package names. The [`Logging` trait][logging]
-will automatically name the Logger accordingly to the class it is being used in.
-
-[dependencies]: dependency-info.html
-[artifacts]: ../maven-artifacts.html
-[configuration]: ../configuration.html
-[interpolation]: http://docs.scala-lang.org/overviews/core/string-interpolation.html
-[logging]: scaladocs/index.html#org.apache.logging.log4j.scala.Logging
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/log4j-api-scala_2.12/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.12/src/site/markdown/index.md b/log4j-api-scala_2.12/src/site/markdown/index.md
deleted file mode 100644
index 7acf397..0000000
--- a/log4j-api-scala_2.12/src/site/markdown/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-# Log4j Scala 2.12 API
-
-## Requirements
-
-Log4j Scala API for Scala 2.12 requires Log4j API, Java 8, the Scala runtime
-library, and the Scala reflection library. To use Log4j as a logging implementation,
-then Log4j Core must also be included. Instructions on using these dependencies are
-in the [dependency information page][dependencies], and additional information is
-included in the [Log4j artifacts][artifacts] page.
-
-## Example Usage
-
-<pre class="prettyprint linenums">
-import org.apache.logging.log4j.scala.Logging
-import org.apache.logging.log4j.Level
-
-class MyClass extends BaseClass with Logging {
- def doStuff(): Unit = {
- logger.info("Doing stuff")
- }
- def doStuffWithLevel(level: Level): Unit = {
- logger(level, "Doing stuff with arbitrary level")
- }
-}
-</pre>
-
-## Configuration
-
-Log4j Scala 2.12 API uses the standard [Log4j configuration][configuration]
-plugins. This supports XML, properties files, and a configuration builder DSL by
-default, and it optionally supports JSON and YAML formats with some additional
-Jackson dependencies.
-
-## Substituting Parameters
-
-In the Java API, parameters to a log message are interpolated using various
-strategies. In the Scala API, [string interpolation][interpolation] is used
-instead. As all logger methods are implemented as macros, string construction and
-method invocations will only occur when logging is enabled for the given log
-level. For example:
-
-<pre class="prettyprint linenums">
-logger.debug(s"Logging in user ${user.getName} with birthday ${user.calcBirthday}")
-</pre>
-
-## Logger Names
-
-Most logging implementations use a hierarchical scheme for matching logger names
-with logging configuration. In this scheme the logger name hierarchy is
-represented by '.' characters in the logger name, in a fashion very similar to
-the hierarchy used for Java/Scala package names. The [`Logging` trait][logging]
-will automatically name the Logger accordingly to the class it is being used in.
-
-[dependencies]: dependency-info.html
-[artifacts]: ../maven-artifacts.html
-[configuration]: ../configuration.html
-[interpolation]: http://docs.scala-lang.org/overviews/core/string-interpolation.html
-[logging]: scaladocs/org/apache/logging/log4j/scala/Logging.html
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/log4j-api-scala_2.13/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.13/src/site/markdown/index.md b/log4j-api-scala_2.13/src/site/markdown/index.md
deleted file mode 100644
index 7acf397..0000000
--- a/log4j-api-scala_2.13/src/site/markdown/index.md
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-# Log4j Scala 2.12 API
-
-## Requirements
-
-Log4j Scala API for Scala 2.12 requires Log4j API, Java 8, the Scala runtime
-library, and the Scala reflection library. To use Log4j as a logging implementation,
-then Log4j Core must also be included. Instructions on using these dependencies are
-in the [dependency information page][dependencies], and additional information is
-included in the [Log4j artifacts][artifacts] page.
-
-## Example Usage
-
-<pre class="prettyprint linenums">
-import org.apache.logging.log4j.scala.Logging
-import org.apache.logging.log4j.Level
-
-class MyClass extends BaseClass with Logging {
- def doStuff(): Unit = {
- logger.info("Doing stuff")
- }
- def doStuffWithLevel(level: Level): Unit = {
- logger(level, "Doing stuff with arbitrary level")
- }
-}
-</pre>
-
-## Configuration
-
-Log4j Scala 2.12 API uses the standard [Log4j configuration][configuration]
-plugins. This supports XML, properties files, and a configuration builder DSL by
-default, and it optionally supports JSON and YAML formats with some additional
-Jackson dependencies.
-
-## Substituting Parameters
-
-In the Java API, parameters to a log message are interpolated using various
-strategies. In the Scala API, [string interpolation][interpolation] is used
-instead. As all logger methods are implemented as macros, string construction and
-method invocations will only occur when logging is enabled for the given log
-level. For example:
-
-<pre class="prettyprint linenums">
-logger.debug(s"Logging in user ${user.getName} with birthday ${user.calcBirthday}")
-</pre>
-
-## Logger Names
-
-Most logging implementations use a hierarchical scheme for matching logger names
-with logging configuration. In this scheme the logger name hierarchy is
-represented by '.' characters in the logger name, in a fashion very similar to
-the hierarchy used for Java/Scala package names. The [`Logging` trait][logging]
-will automatically name the Logger accordingly to the class it is being used in.
-
-[dependencies]: dependency-info.html
-[artifacts]: ../maven-artifacts.html
-[configuration]: ../configuration.html
-[interpolation]: http://docs.scala-lang.org/overviews/core/string-interpolation.html
-[logging]: scaladocs/org/apache/logging/log4j/scala/Logging.html
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/project/plugins.sbt
----------------------------------------------------------------------
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 5e55c9d..df90981 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,3 +1,5 @@
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.1")
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.8")
addSbtPlugin("com.typesafe.sbt" % "sbt-license-report" % "1.2.0")
+addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.3.2")
+//addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.3")
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/b510c122/src/asciidoctor/index.adoc
----------------------------------------------------------------------
diff --git a/src/asciidoctor/index.adoc b/src/asciidoctor/index.adoc
new file mode 100644
index 0000000..b9595af
--- /dev/null
+++ b/src/asciidoctor/index.adoc
@@ -0,0 +1,88 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+= Apache Log4j Scala API
+
+Log4j Scala API is a Scala logging facade based on Log4j 2.
+Support for Scala versions 2.10, 2.11, and 2.12 are provided, and experimental support for pre-release versions of 2.13 is also provided.
+Log4j Scala API uses Log4j 2.x as its logging backend by default, but this can also be replaced with compatible libraries (e.g., Logback).
+While this library is not required to use Log4j API in Scala, it does provide idiomatic Scala APIs which are friendlier to use in Scala programs than the Java APIs.
+
+== Usage
+
+Log4j Scala API requires Log4j API. An example SBT dependency setup:
+
+.build.sbt
+[source,scala]
+----
+libraryDependencies ++= Seq(
+ "org.apache.logging.log4j" %% "log4j-api-scala" % "11.0",
+ "org.apache.logging.log4j" % "log4j-api" % "2.11.0",
+ "org.apache.logging.log4j" % "log4j-core" % "2.11.0" % Runtime)
+----
+
+Using the Scala API is as simple as mixing in the `Logging` trait to your class. Example:
+
+[source,scala]
+----
+import org.apache.logging.log4j.scala.Logging
+import org.apache.logging.log4j.Level
+
+class MyClass extends BaseClass with Logging {
+ def doStuff(): Unit = {
+ logger.info("Doing stuff")
+ }
+ def doStuffWithLevel(level: Level): Unit = {
+ logger(level, "Doing stuff with arbitrary level")
+ }
+ def doStuffWithUser(user: User): Unit = {
+ logger.info(s"Doing stuff with ${user.getName}.")
+ }
+}
+----
+
+== Configuration
+
+Log4j Scala API uses https://logging.apache.org/log4j/2.x/manual/configuration.html[Log4j configuration] by default.
+This supports XML, properties files, and Java-based builders, as well as JSON and YAML with additional dependencies.
+
+== Substituting Parameters
+
+Unlike in Java, Scala provides native functionality for string interpolation https://docs.scala-lang.org/overviews/core/string-interpolation.html[beginning in Scala 2.10].
+As all logger calls are implemented as macros, using string interpolation directly does not require additional if checks.
+For example:
+
+[source,scala]
+----
+logger.debug(s"Logging in user ${user.getName} with birthday ${user.calcBirthday}")
+----
+
+== Logger Names
+
+Most logging implementations use a hierarchical scheme for matching logger names with logging configuration.
+In this scheme the logger name hierarchy is represented by '.' characters in the logger name, in a fashion very similar to the hierarchy used for Java/Scala package names.
+The `Logging` trait will automatically name the Logger accordingly to the class it is being used in.
+
+////
+TODO:
+* Apache logo
+* Downloads page
+* Changelog page
+* License report
+* Other reports?
+* ScalaDocs links
+* Project links
+////
\ No newline at end of file