/*
* 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.
*/
package org.apache.logging.log4j.core.net;
import org.apache.logging.log4j.util.EnglishEnums;
The facility codes used by the Syslog system.
Numerical Code
Facility
0
kernel messages
1
user-level messages
2
mail system
3
system daemons
4
security/authorization messages
5
messages generated internally by syslogd
6
line printer subsystem
7
network news subsystem
8
UUCP subsystem
9
clock daemon
10
security/authorization messages
11
FTP daemon
12
NTP subsystem
13
log audit
14
log alert
15
clock daemon (note 2)
16
local use 0 (local0)
17
local use 1 (local1)
18
local use 2 (local2)
19
local use 3 (local3)
20
local use 4 (local4)
21
local use 5 (local5)
22
local use 6 (local6)
23
local use 7 (local7)
/**
* The facility codes used by the Syslog system.
*
* <table>
* <tr>
* <th>Numerical Code</th>
* <th>Facility</th>
* </tr>
* <tr>
* <td>0</td>
* <td>kernel messages</td>
* </tr>
* <tr>
* <td>1</td>
* <td>user-level messages</td>
* </tr>
* <tr>
* <td>2</td>
* <td>mail system</td>
* </tr>
* <tr>
* <td>3</td>
* <td>system daemons</td>
* </tr>
* <tr>
* <td>4</td>
* <td>security/authorization messages</td>
* </tr>
* <tr>
* <td>5</td>
* <td>messages generated internally by syslogd</td>
* </tr>
* <tr>
* <td>6</td>
* <td>line printer subsystem</td>
* </tr>
* <tr>
* <td>7</td>
* <td>network news subsystem</td>
* </tr>
* <tr>
* <td>8</td>
* <td>UUCP subsystem</td>
* </tr>
* <tr>
* <td>9</td>
* <td>clock daemon</td>
* </tr>
* <tr>
* <td>10</td>
* <td>security/authorization messages</td>
* </tr>
* <tr>
* <td>11</td>
* <td>FTP daemon</td>
* </tr>
* <tr>
* <td>12</td>
* <td>NTP subsystem</td>
* </tr>
* <tr>
* <td>13</td>
* <td>log audit</td>
* </tr>
* <tr>
* <td>14</td>
* <td>log alert</td>
* </tr>
* <tr>
* <td>15</td>
* <td>clock daemon (note 2)</td>
* </tr>
* <tr>
* <td>16</td>
* <td>local use 0 (local0)</td>
* </tr>
* <tr>
* <td>17</td>
* <td>local use 1 (local1)</td>
* </tr>
* <tr>
* <td>18</td>
* <td>local use 2 (local2)</td>
* </tr>
* <tr>
* <td>19</td>
* <td>local use 3 (local3)</td>
* </tr>
* <tr>
* <td>20</td>
* <td>local use 4 (local4)</td>
* </tr>
* <tr>
* <td>21</td>
* <td>local use 5 (local5)</td>
* </tr>
* <tr>
* <td>22</td>
* <td>local use 6 (local6)</td>
* </tr>
* <tr>
* <td>23</td>
* <td>local use 7 (local7)</td>
* </tr>
* </table>
*/
public enum Facility {
Kernel messages. /** Kernel messages. */
KERN(0),
User level messages. /** User level messages. */
USER(1),
Mail system. /** Mail system. */
MAIL(2),
System daemons. /** System daemons. */
DAEMON(3),
Security/Authorization messages. /** Security/Authorization messages. */
AUTH(4),
Messages generated by syslogd. /** Messages generated by syslogd. */
SYSLOG(5),
Line printer subsystem. /** Line printer subsystem. */
LPR(6),
Network news subsystem. /** Network news subsystem. */
NEWS(7),
UUCP subsystem. /** UUCP subsystem. */
UUCP(8),
Clock daemon. /** Clock daemon. */
CRON(9),
Security/Authorization messages. /** Security/Authorization messages. */
AUTHPRIV(10),
FTP daemon. /** FTP daemon. */
FTP(11),
NTP subsystem. /** NTP subsystem. */
NTP(12),
Log audit. /** Log audit. */
LOG_AUDIT(13),
Log alert. /** Log alert. */
LOG_ALERT(14),
Clock daemon. /** Clock daemon. */
CLOCK(15),
Local use 0. /** Local use 0. */
LOCAL0(16),
Local use 1. /** Local use 1. */
LOCAL1(17),
Local use 2. /** Local use 2. */
LOCAL2(18),
Local use 3. /** Local use 3. */
LOCAL3(19),
Local use 4. /** Local use 4. */
LOCAL4(20),
Local use 5. /** Local use 5. */
LOCAL5(21),
Local use 6. /** Local use 6. */
LOCAL6(22),
Local use 7. /** Local use 7. */
LOCAL7(23);
private final int code;
Facility(final int code) {
this.code = code;
}
Returns the Facility for the given string.
Params: - name – The Facility enum name, case-insensitive. If null, returns, null
Returns: a Facility enum value or null if name is null
/**
* Returns the Facility for the given string.
*
* @param name The Facility enum name, case-insensitive. If null, returns, null
* @return a Facility enum value or null if name is null
*/
public static Facility toFacility(final String name) {
return toFacility(name, null);
}
Returns the Facility for the given string.
Params: - name – The Facility enum name, case-insensitive. If null, returns, defaultFacility
- defaultFacility – the Facility to return if name is null
Returns: a Facility enum value or null if name is null
/**
* Returns the Facility for the given string.
*
* @param name The Facility enum name, case-insensitive. If null, returns, defaultFacility
* @param defaultFacility the Facility to return if name is null
* @return a Facility enum value or null if name is null
*/
public static Facility toFacility(final String name, final Facility defaultFacility) {
return EnglishEnums.valueOf(Facility.class, name, defaultFacility);
}
Retrieve the value of the enumeration.
Returns: The value associated with the enumeration.
/**
* Retrieve the value of the enumeration.
* @return The value associated with the enumeration.
*/
public int getCode() {
return this.code;
}
Determine if this enumeration matches the specified name (ignoring case).
Params: - name – The name to check.
Returns: true if the name matches this enumeration, ignoring case.
/**
* Determine if this enumeration matches the specified name (ignoring case).
* @param name The name to check.
* @return true if the name matches this enumeration, ignoring case.
*/
public boolean isEqual(final String name) {
return this.name().equalsIgnoreCase(name);
}
}