linghengqian commented on code in PR #5375:
URL: https://github.com/apache/hive/pull/5375#discussion_r1802508354


##########
data/conf/hive-log4j2.properties:
##########
@@ -25,9 +23,6 @@ property.hive.log.dir = ${sys:test.tmp.dir}/log
 property.hive.log.file = hive.log
 property.hive.test.console.log.level = INFO
 
-# list of all appenders
-appenders = console, DRFA

Review Comment:
   @zhangbutao 
   - This involves a historical issue that has nothing to do with 
`apache/hive`. In the past two months, the log4j2 website documentation has 
been completely refactored, which has resulted in 
https://logging.apache.org/log4j/2.x/manual/configuration.html and 
https://logging.apache.org/log4j/2.x/manual/plugins.html no longer recording 
the deprecation of appenders and loggers. These deprecation information can be 
traced back to log4j2 2.6. Refer to 
https://github.com/apache/logging-log4j2/issues/2791#issuecomment-2265017589 
pointed out by Log4j Committer.
   
   > I noticed that Apache Hive uses a pre-2.6 properties configuration format 
(the `loggers` is not required since version 2.6).
   Would you consider switching to a more easily readable configuration format? 
Version 3.x will introduce breaking changes to the properties format, but not 
the hierarchical ones.
   
   - I have to resort to the `web.archive.org` to show the original document 
directly, please open 
https://web.archive.org/web/20240823014436/https://logging.apache.org/log4j/2.x/manual/configuration.html#configuration-with-properties
 directly.
   
   > Prior to version **2.6**, the properties configuration requires that you 
list the identifiers of the **appenders**, **filters** and **loggers**, in a 
comma separated list in properties with those names. Each of those components 
will then be expected to be defined in sets of properties that begin with 
component.<.identifier>.. The identifier does not have to match the name of the 
component being defined but must uniquely identify all the attributes and 
subcomponents that are part of the component. If the list of identifiers is not 
present the identifier must not contain a '.'. Each individual component MUST 
have a "type" attribute specified that identifies the component's Plugin type.
   >
   > As of version 2.6, this list of identifiers is no longer required as names 
are inferred upon first usage, however if you wish to use more complex 
identifies you must still use the list. If the list is present it will be used.
   
   - 
![image](https://github.com/user-attachments/assets/068962fb-762e-438d-9496-851b878d13b3)
   
   - `appenders`, `filters` and `loggers` do not actually have any effect, as 
log4j2 will infer them automatically.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to