如何覆盖特定类的log4j设置(How to Overwrite log4j Settings For A Specific Class)
使用Hadoop HBASE集群,我想覆盖
log4j
以将特定类org.apache.hadoop.hbase.tool.Canary
的日志输出到控制台。目前,Hbase app文件的
log4j.properties
如下所示:hbase.root.logger=INFO,RFA,RFAE hbase.log.dir=. hbase.log.file=hbase.log # Define the root logger to the system property "hbase.root.logger". log4j.rootLogger=${hbase.root.logger} # Logging Threshold log4j.threshold=ALL # Rolling File Appender properties hbase.log.maxfilesize=128MB hbase.log.maxbackupindex=10 hbase.log.layout=org.apache.log4j.PatternLayout hbase.log.pattern=%d{ISO8601} %p %c: %m%n # # Daily Rolling File Appender # Hacked to be the Rolling File Appender # Rolling File Appender log4j.appender.DRFA=org.apache.log4j.RollingFileAppender log4j.appender.DRFA.File=${hbase.log.dir}/${hbase.log.file} log4j.appender.DRFA.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.DRFA.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.DRFA.layout=${hbase.log.layout} log4j.appender.DRFA.layout.ConversionPattern=${hbase.log.pattern} log4j.appender.DRFA.Append=true # Rolling File Appender log4j.appender.RFA=org.apache.log4j.RollingFileAppender log4j.appender.RFA.File=${hbase.log.dir}/${hbase.log.file} log4j.appender.RFA.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.RFA.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.RFA.layout=${hbase.log.layout} log4j.appender.RFA.layout.ConversionPattern=${hbase.log.pattern} log4j.appender.RFA.Append=true # # console # Add "console" to rootlogger above if you want to use this # log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n # # Error log appender, each log event will include hostname # hbase.error.log.file=hbase_error.log log4j.appender.RFAE=org.apache.log4j.RollingFileAppender log4j.appender.RFAE.File=${hbase.log.dir}/${hbase.error.log.file} log4j.appender.RFAE.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.RFAE.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.RFAE.layout=org.apache.log4j.PatternLayout log4j.appender.RFAE.layout.ConversionPattern=%d{ISO8601} data-analytics1-data-namenode-dev-001 %p %c: %m%n log4j.appender.RFAE.Threshold=ERROR log4j.appender.RFAE.Append=true # Custom Logging levels org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress=DEBUG log4j.logger.org.apache.zookeeper=WARN #log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG log4j.logger.org.apache.hadoop.hbase=INFO # Make these two classes INFO-level. Make them DEBUG to see more zk debug. log4j.logger.org.apache.hadoop.hbase.zookeeper.ZKUtil=WARN log4j.logger.org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher=WARN # Snapshot Debugging log4j.logger.org.apache.hadoop.hbase.regionserver.snapshot=DEBUG #log4j.logger.org.apache.hadoop.dfs=DEBUG # Set this class to log INFO only otherwise its OTT # Uncomment this line to enable tracing on _every_ RPC call (this can be a lot of output) #log4j.logger.org.apache.hadoop.ipc.HBaseServer.trace=DEBUG # Uncomment the below if you want to remove logging of client region caching' # and scan of .META. messages # log4j.logger.org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation=INFO # log4j.logger.org.apache.hadoop.hbase.client.MetaScanner=INFO
请指教。 谢谢!
With a Hadoop HBASE cluster, I would like to overwrite
log4j
to output the log for a specific classorg.apache.hadoop.hbase.tool.Canary
to the console.Currently the
log4j.properties
for Hbase app file looks like that:hbase.root.logger=INFO,RFA,RFAE hbase.log.dir=. hbase.log.file=hbase.log # Define the root logger to the system property "hbase.root.logger". log4j.rootLogger=${hbase.root.logger} # Logging Threshold log4j.threshold=ALL # Rolling File Appender properties hbase.log.maxfilesize=128MB hbase.log.maxbackupindex=10 hbase.log.layout=org.apache.log4j.PatternLayout hbase.log.pattern=%d{ISO8601} %p %c: %m%n # # Daily Rolling File Appender # Hacked to be the Rolling File Appender # Rolling File Appender log4j.appender.DRFA=org.apache.log4j.RollingFileAppender log4j.appender.DRFA.File=${hbase.log.dir}/${hbase.log.file} log4j.appender.DRFA.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.DRFA.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.DRFA.layout=${hbase.log.layout} log4j.appender.DRFA.layout.ConversionPattern=${hbase.log.pattern} log4j.appender.DRFA.Append=true # Rolling File Appender log4j.appender.RFA=org.apache.log4j.RollingFileAppender log4j.appender.RFA.File=${hbase.log.dir}/${hbase.log.file} log4j.appender.RFA.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.RFA.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.RFA.layout=${hbase.log.layout} log4j.appender.RFA.layout.ConversionPattern=${hbase.log.pattern} log4j.appender.RFA.Append=true # # console # Add "console" to rootlogger above if you want to use this # log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n # # Error log appender, each log event will include hostname # hbase.error.log.file=hbase_error.log log4j.appender.RFAE=org.apache.log4j.RollingFileAppender log4j.appender.RFAE.File=${hbase.log.dir}/${hbase.error.log.file} log4j.appender.RFAE.MaxFileSize=${hbase.log.maxfilesize} log4j.appender.RFAE.MaxBackupIndex=${hbase.log.maxbackupindex} log4j.appender.RFAE.layout=org.apache.log4j.PatternLayout log4j.appender.RFAE.layout.ConversionPattern=%d{ISO8601} data-analytics1-data-namenode-dev-001 %p %c: %m%n log4j.appender.RFAE.Threshold=ERROR log4j.appender.RFAE.Append=true # Custom Logging levels org.apache.hadoop.hbase.regionserver.compactions.CompactionProgress=DEBUG log4j.logger.org.apache.zookeeper=WARN #log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG log4j.logger.org.apache.hadoop.hbase=INFO # Make these two classes INFO-level. Make them DEBUG to see more zk debug. log4j.logger.org.apache.hadoop.hbase.zookeeper.ZKUtil=WARN log4j.logger.org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher=WARN # Snapshot Debugging log4j.logger.org.apache.hadoop.hbase.regionserver.snapshot=DEBUG #log4j.logger.org.apache.hadoop.dfs=DEBUG # Set this class to log INFO only otherwise its OTT # Uncomment this line to enable tracing on _every_ RPC call (this can be a lot of output) #log4j.logger.org.apache.hadoop.ipc.HBaseServer.trace=DEBUG # Uncomment the below if you want to remove logging of client region caching' # and scan of .META. messages # log4j.logger.org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation=INFO # log4j.logger.org.apache.hadoop.hbase.client.MetaScanner=INFO
Please advise. Thanks!
原文:https://stackoverflow.com/questions/38560379
最满意答案
事实证明,您可以使用JDBC字符串中的“instanceName”属性,如Microsoft Technet页面 “命名和多个SQL Server实例”一节中所述。 在我的情况下,有效的是以下用于虚拟服务器vvv和数据库实例名称iii的字符串:
“JDBC:SQLSERVER:// VVV;实例名= III”
it turns out that you can use the "instanceName" property within the JDBC string, as documented on the Microsoft Technet page in section "Named and Multiple SQL Server Instances". What worked in my case was the following string for virtual server vvv and database instance name iii:
"jdbc:sqlserver://vvv;instanceName=iii"
相关问答
更多-
在几周前联系了Informatica的全球支持后,我意识到由于混淆了如何连接到Oracle实例,我犯了一些非常基本的错误。 将Powercenter 10.1连接到SQL Server实例的正确步骤如下: 在ODBC 64位接口下的服务器上创建一个ODBC连接(在我的情况下为Windows Server 2012),并在系统DNS下创建一个新连接(这样它将可供所有用户使用)。 为我工作的协议是DataDirect 7.1新SQL Server 跟踪分配给连接的名称。 一旦进入工作流程管理器创建一个连接并选择 ...
-
如何在JMeter中将JDBC连接到Microsoft SQL Server?(How to connect JDBC to Microsoft SQL Server in JMeter?)[2022-04-16]
登录失败是我们看到的明确信息,请再次检查。 试试这个,我通过假设用户名为“ABC-PC \ ABC”并且密码为“Somepassword”并相应地改变了下面的内容。 数据库URL:jdbc:sqlserver:// ABC-PC \ ABC / Somepassword @ localhost:1433; DatabaseName = JmeterTestDatabase。 JDBC驱动程序类:com.microsoft.sqlserver.jdbc.SQLServerDriver。 Log in fail ... -
无法从Eclipse和JDBC连接到SQL Server Express 2012(Cannot connect to SQL Server express 2012 from Eclipse and JDBC)[2022-08-07]
尝试这个 String url = "jdbc:sqlserver://localhost;user=MyUserName;password=*****;"; 来自MSDN网站。 链接 Try this String url = "jdbc:sqlserver://localhost;user=MyUserName;password=*****;"; From MSDN site. Link -
我使用加密通过Java JDBC连接到SQL Server时遇到了一些麻烦。 以下方法支持安全连接,其中不检查证书的有效性。 SQL Server将颁发证书并使用加密。 此方法不需要与数据库的其他连接是安全的,也不需要更改数据库服务器。 只需在下面的语句中替换您的IP:端口组合和您的数据库实例 url = "jdbc:sqlserver://x.x.x.x:1433;databaseName=yourDBname;" + "integratedSecurity=false;encrypt=true ...
-
无法通过JDBC使用Windows身份验证连接到SQL Server(Can't connect to SQL Server using Windows Authentication via JDBC)[2024-03-23]
解决了它,因为我们有一个错误的Java安装。 安装了一个新的Java家庭,它运行良好。 Solved it because we had a buggy Java installation. Installed a new Java home and it worked fine. -
如何查看用于连接到SQL Server的连接字符串(How to see the connection string used to connect to SQL Server)[2023-04-29]
不是真的。 连接字符串只是客户端应用程序和SQL客户端库之间的问题,并且没有开箱即用的工具可以窥探这个紧张的位置。 但是,在您的示例中,不需要知道连接字符串。 您知道连接字符串使用的是集成安全性(根据定义,'SSPI握手'),您知道它正在尝试连接到记录了此错误的服务器,您知道失败的原因(错误SEC_E_LOGON_DENIED),并且您知道哪个客户端试图连接(10.234.222.13)。 连接字符串中没有任何内容可以帮助解决此问题。 您看到的错误是SSPI错误,特别是Kerberos / NTLM错误,您 ... -
根据文档, URL模式中没有此类属性 。 但无论如何你可能根本不需要它。 JDBC驱动程序将使用Java Unicode中的字符串并返回Java Unicode中的所有值。 在Java中,驱动程序使用哪种字符编码与数据库进行通信并不重要(除非您做了一些非常不寻常的事情,比如尝试解决数据库错误,或者您的数据库不知道其内容的编码)。 According to the documentation, there is no such property in the URL schema. But you proba ...
-
事实证明,您可以使用JDBC字符串中的“instanceName”属性,如Microsoft Technet页面 “命名和多个SQL Server实例”一节中所述。 在我的情况下,有效的是以下用于虚拟服务器vvv和数据库实例名称iii的字符串: “JDBC:SQLSERVER:// VVV;实例名= III” it turns out that you can use the "instanceName" property within the JDBC string, as documented on t ...
-
最终为我工作的是什么(在各种博客搜索后): 使用默认实例安装MS SQL 2012。 这删除了2008版本。 重写上述所有内容。 另外,为端口1433添加了出站规则。经过多次搜索后找到有关出站规则的部分。 每个人都只说入境规则。 在Configuration Manager中重新启动服务(SQL Browser,SQL Server)。 在开始之前不会发生任何变化。 使用此连接字符串(使用user =“sa”和servername作为默认实例名称。还使用sa的密码): url = "jdbc:sqlserv ...
-
数据库镜像的设置与Glassfish没什么关系,它必须由JDBC驱动程序支持。 您似乎正在使用JTDS驱动程序连接到MS SQL。 不幸的是,它不支持数据库镜像 - 在这个SO问题中的一些人讨论了如果你无法负担切换驱动程序而在这个驱动程序周围创建包装器的可能性。 使用Microsoft的官方驱动程序可能会更好。 它应该支持连接字符串中的failoverPartner参数。 Setting of database mirroring has little to do with Glassfish in par ...