<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
   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.
-->
<!-- Generated by Apache Maven Doxia at 2017-08-20 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>Log4j Scala API &#x2013; Project Dependencies - Scala API samples</title>
		<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
		<link rel="stylesheet" href="./css/site.css" type="text/css" />
		<script type="text/javascript" src="./js/jquery.min.js"></script>
		<script type="text/javascript" src="./js/bootstrap.min.js"></script>
		<script type="text/javascript" src="./js/prettify.min.js"></script>
		<script type="text/javascript" src="./js/site.js"></script>
		<meta name="Date-Revision-yyyymmdd" content="20170820" />
		<meta http-equiv="Content-Language" content="en" />
		
				</head>
	<body class="composite">
		<a href="https://logging.apache.org/">
			<img class="logo-left" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
		</a>
		<img class="logo-right" src="./images/logo.png" alt="Apache log4j logo" />
		<div class="clear"></div>

		<div class="navbar">
			<div class="navbar-inner">
				<div class="container-fluid">
					<a class="brand" href="http://http://logging.apache.org/log4j/2.x/">Scala API samples &trade;</a>
						<ul class="nav">
						<li>
					
				
				<a href="http://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
			</li>
					<li>
					
				
				<a href="http://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
			</li>
					<li>
									<a href="../index.html" title="Log4j">Log4j</a>
			</li>
		</ul>
				</div>
			</div>
		</div>

		<div class="container-fluid">
			<table class="layout-table">
				<tr>
					<td class="sidebar">
						<div class="well sidebar-nav">
										<ul class="nav nav-list">
		 														 <li class="nav-header">Component Documentation</li>
																																																																																																																																																									<li class="expanded">
									<a href="project-info.html" title="Component Information">Component Information</a>
										<ul>
																						<li class="none active">
									<a href="dependencies.html" title="Dependencies">Dependencies</a>
					</li>
 																						<li class="none">
									<a href="dependency-info.html" title="Dependency Information">Dependency Information</a>
					</li>
 																						<li class="none">
									<a href="dependency-management.html" title="Dependency Management">Dependency Management</a>
					</li>
 																						<li class="none">
									<a href="distribution-management.html" title="Distribution Management">Distribution Management</a>
					</li>
 																						<li class="none">
									<a href="index.html" title="About">About</a>
					</li>
 																	<!-- Removing overall project item Issue Management from component-specific menu -->
																	<!-- Removing overall project item Licenses from component-specific menu -->
																	<!-- Removing overall project item Mailing Lists from component-specific menu -->
																						<li class="none">
									<a href="plugin-management.html" title="Plugin Management">Plugin Management</a>
					</li>
 																						<li class="none">
									<a href="plugins.html" title="Plugins">Plugins</a>
					</li>
 																	<!-- Removing overall project item Source Code Management from component-specific menu -->
																						<li class="none">
									<a href="project-summary.html" title="Summary">Summary</a>
					</li>
 										</ul>
							</li>
 								</ul>
							</div>
						<div id="poweredBy">
															<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
				<img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
			</a>
									</div>
					</td>
					<td class="content">
						<a name="Project_Dependencies"></a>
<div class="section">
<h2><a name="Project_Dependencies"></a>Project Dependencies</h2><a name="Project_Dependencies_compile"></a>
<div class="section">
<h3><a name="compile"></a>compile</h3>
<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Type</th>
<th>Licenses</th></tr>
<tr class="b">
<td>org.apache.logging.log4j</td>
<td><a class="externalLink" href="http://logging.apache.org/log4j/2.x/log4j-api-scala_2.12/">log4j-api-scala_2.12</a></td>
<td>11.0</td>
<td>jar</td>
<td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td></tr></table></div><a name="Project_Dependencies_runtime"></a>
<div class="section">
<h3><a name="runtime"></a>runtime</h3>
<p>The following is a list of runtime dependencies for this project. These dependencies are required to run the application:</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Type</th>
<th>Licenses</th></tr>
<tr class="b">
<td>org.apache.logging.log4j</td>
<td><a class="externalLink" href="https://logging.apache.org/log4j/2.x/log4j-core/">log4j-core</a></td>
<td>2.8.2</td>
<td>jar</td>
<td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a>
<div class="section">
<h2><a name="Project_Transitive_Dependencies"></a>Project Transitive Dependencies</h2>
<p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><a name="Project_Transitive_Dependencies_compile"></a>
<div class="section">
<h3><a name="compile"></a>compile</h3>
<p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Type</th>
<th>Licenses</th></tr>
<tr class="b">
<td>org.apache.logging.log4j</td>
<td><a class="externalLink" href="https://logging.apache.org/log4j/2.x/log4j-api/">log4j-api</a></td>
<td>2.8.2</td>
<td>jar</td>
<td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td></tr>
<tr class="a">
<td>org.scala-lang</td>
<td><a class="externalLink" href="http://www.scala-lang.org/">scala-library</a></td>
<td>2.12.1</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.scala-lang.org/license.html">BSD 3-Clause</a></td></tr>
<tr class="b">
<td>org.scala-lang</td>
<td><a class="externalLink" href="http://www.scala-lang.org/">scala-reflect</a></td>
<td>2.12.1</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.scala-lang.org/license.html">BSD 3-Clause</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a>
<div class="section">
<h2><a name="Project_Dependency_Graph"></a>Project Dependency Graph</h2>
<script language="javascript" type="text/javascript">
      function toggleDependencyDetails( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
          img.alt='[Information]';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
          img.alt='[Close]';
        }
      }
</script>
<a name="Dependency_Tree"></a>
<div class="section">
<h3><a name="Dependency_Tree"></a>Dependency Tree</h3>
<ul>
<li>org.apache.logging.log4j:log4j-api-scala-sample:jar:11.0 <img id="_img1" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep0', '_img1' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep0" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Scala API samples</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Apache Log4j 2 Scala API</p>
<p><b>URL: </b>http://http://logging.apache.org/log4j/2.x/</p>
<p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td></tr></table></div>
<ul>
<li>org.apache.logging.log4j:log4j-api-scala_2.12:jar:11.0 (compile) <img id="_img3" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep2', '_img3' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep2" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Scala 2.12 wrapper for Log4j API</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Scala wrapper for Log4j API</p>
<p><b>URL: </b><a class="externalLink" href="http://logging.apache.org/log4j/2.x/log4j-api-scala_2.12/">http://logging.apache.org/log4j/2.x/log4j-api-scala_2.12/</a></p>
<p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td></tr></table></div>
<ul>
<li>org.apache.logging.log4j:log4j-api:jar:2.8.2 (compile) <img id="_img5" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep4', '_img5' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep4" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Apache Log4j API</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>The Apache Log4j API</p>
<p><b>URL: </b><a class="externalLink" href="https://logging.apache.org/log4j/2.x/log4j-api/">https://logging.apache.org/log4j/2.x/log4j-api/</a></p>
<p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td></tr></table></div></li>
<li>org.scala-lang:scala-library:jar:2.12.1 (compile) <img id="_img7" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep6', '_img7' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep6" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Scala Library</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Standard library for the Scala Programming Language</p>
<p><b>URL: </b><a class="externalLink" href="http://www.scala-lang.org/">http://www.scala-lang.org/</a></p>
<p><b>Project Licenses: </b><a class="externalLink" href="http://www.scala-lang.org/license.html">BSD 3-Clause</a></p></td></tr></table></div></li>
<li>org.scala-lang:scala-reflect:jar:2.12.1 (compile) <img id="_img9" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep8', '_img9' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep8" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Scala Compiler</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Compiler for the Scala Programming Language</p>
<p><b>URL: </b><a class="externalLink" href="http://www.scala-lang.org/">http://www.scala-lang.org/</a></p>
<p><b>Project Licenses: </b><a class="externalLink" href="http://www.scala-lang.org/license.html">BSD 3-Clause</a></p></td></tr></table></div></li></ul></li>
<li>org.apache.logging.log4j:log4j-core:jar:2.8.2 (runtime) <img id="_img11" src="./images/icon_info_sml.gif" alt="[Information]" onclick="toggleDependencyDetails( '_dep10', '_img11' );" style="cursor: pointer; vertical-align: text-bottom;"></img><div id="_dep10" style="display:none">
<table border="0" class="bodyTable">
<tr class="a">
<th>Apache Log4j Core</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>The Apache Log4j Implementation</p>
<p><b>URL: </b><a class="externalLink" href="https://logging.apache.org/log4j/2.x/log4j-core/">https://logging.apache.org/log4j/2.x/log4j-core/</a></p>
<p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a>
<div class="section">
<h2><a name="Licenses"></a>Licenses</h2>
<p><b>Apache License, Version 2.0: </b>Apache Log4j API, Apache Log4j Core, Scala 2.12 wrapper for Log4j API, Scala API samples</p>
<p><b>BSD 3-Clause: </b>Scala Compiler, Scala Library</p></div><a name="Dependency_File_Details"></a>
<div class="section">
<h2><a name="Dependency_File_Details"></a>Dependency File Details</h2>
<table border="0" class="bodyTable">
<tr class="a">
<th>Filename</th>
<th>Size</th>
<th>Entries</th>
<th>Classes</th>
<th>Packages</th>
<th>Java Version</th>
<th title="Indicates whether these dependencies have been compiled with debug information.">Debug Information</th></tr>
<tr class="b">
<td>log4j-api-2.8.2.jar</td>
<td>228.2 kB</td>
<td>162</td>
<td>143</td>
<td>6</td>
<td>1.7</td>
<td>Yes</td></tr>
<tr class="a">
<td>log4j-api-scala_2.12-11.0.jar</td>
<td>315.6 kB</td>
<td>225</td>
<td>210</td>
<td>1</td>
<td>1.8</td>
<td>Yes</td></tr>
<tr class="b">
<td>log4j-core-2.8.2.jar</td>
<td>1.4 MB</td>
<td>1001</td>
<td>922</td>
<td>48</td>
<td>1.7</td>
<td>Yes</td></tr>
<tr class="a">
<td>scala-library-2.12.1.jar</td>
<td>5.3 MB</td>
<td>2540</td>
<td>2502</td>
<td>34</td>
<td>1.8</td>
<td>Yes</td></tr>
<tr class="b">
<td>scala-reflect-2.12.1.jar</td>
<td>3.5 MB</td>
<td>1366</td>
<td>1349</td>
<td>13</td>
<td>1.8</td>
<td>Yes</td></tr>
<tr class="a">
<th>Total</th>
<th>Size</th>
<th>Entries</th>
<th>Classes</th>
<th>Packages</th>
<th>Java Version</th>
<th>Debug Information</th></tr>
<tr class="b">
<td>5</td>
<td>10.8 MB</td>
<td>5294</td>
<td>5126</td>
<td>102</td>
<td>1.8</td>
<td>5</td></tr>
<tr class="a">
<td>compile: 4</td>
<td>compile: 9.4 MB</td>
<td>compile: 4293</td>
<td>compile: 4204</td>
<td>compile: 54</td>
<td>-</td>
<td>compile: 4</td></tr>
<tr class="b">
<td>runtime: 1</td>
<td>runtime: 1.4 MB</td>
<td>runtime: 1001</td>
<td>runtime: 922</td>
<td>runtime: 48</td>
<td>-</td>
<td>runtime: 1</td></tr></table></div><a name="Dependency_Repository_Locations"></a>
<div class="section">
<h2><a name="Dependency_Repository_Locations"></a>Dependency Repository Locations</h2>
<table border="0" class="bodyTable">
<tr class="a">
<th>Repo ID</th>
<th>URL</th>
<th>Release</th>
<th>Snapshot</th></tr>
<tr class="b">
<td>central</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2">https://repo.maven.apache.org/maven2</a></td>
<td>Yes</td>
<td>No</td></tr>
<tr class="a">
<td>apache.snapshots</td>
<td><a class="externalLink" href="https://repository.apache.org/snapshots">https://repository.apache.org/snapshots</a></td>
<td>No</td>
<td>Yes</td></tr></table>
<p>Repository locations for each of the Dependencies.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Artifact</th>
<th>central</th>
<th>apache.snapshots</th></tr>
<tr class="b">
<td>org.apache.logging.log4j:log4j-api:jar:2.8.2</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-api/2.8.2/log4j-api-2.8.2.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<td>org.apache.logging.log4j:log4j-api-scala_2.12:jar:11.0</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-api-scala_2.12/11.0/log4j-api-scala_2.12-11.0.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="b">
<td>org.apache.logging.log4j:log4j-core:jar:2.8.2</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-core/2.8.2/log4j-core-2.8.2.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<td>org.scala-lang:scala-library:jar:2.12.1</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.1/scala-library-2.12.1.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="b">
<td>org.scala-lang:scala-reflect:jar:2.12.1</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.1/scala-reflect-2.12.1.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<th>Total</th>
<th>central</th>
<th>apache.snapshots</th></tr>
<tr class="b">
<td>5 (compile: 4, runtime: 1)</td>
<td>5</td>
<td>0</td></tr></table></div>
					</td>
				</tr>
			</table>
		</div>

		<div class="footer">
							<p>Copyright &copy; 1999-2017 <a class="external" href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p>
				<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
				<p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
			</div>
		</div>
	</body>
</html>
