开发者社区> 问答> 正文

sfl4j 如何配置????报错

maven 依赖已添加

src下也配置了。


public static Logger logger = LoggerFactory.getLogger(Test.class);
 

运行测试代码还报错。。。。

展开
收起
爱吃鱼的程序员 2020-06-08 10:39:03 517 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我用logback+slf4j,slf4j无需配置,只需配置logback就可以了

    哎,还是没说到重点,没法解决问题

    mvn的包代码发出来看看撒。

    MVN只需要导入这个就可以了

    <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.9.1</version></dependency>

    log4j2.xml 

    <?xmlversion="1.0"encoding="UTF-8"?><configurationdebug="off"status="INFO"><!--这个status是控制系统信息的输出级别--><Properties><Propertyname="path">${log4j:configParentLocation}/../../logs</Property><Propertyname="pattern"value="%d{DEFAULT}[%-5level]%c{1.}.%M()/%L-%msg%xEx%n"/></Properties><Appenders><Consolename="Console"target="SYSTEM_OUT"><!--将日志信息从控制台输出--><ThresholdFilterlevel="trace"onMatch="ACCEPT"onMismatch="DENY"/><PatternLayoutpattern="%highlight{${pattern}}"/></Console><Filename="debug"fileName="${path}/log.log"append="true"><!--将日志信息写入日志文件--><Filters><!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--><ThresholdFilterlevel="debug"onMatch="ACCEPT"onMismatch="DENY"/></Filters><PatternLayoutpattern="${pattern}"/></File><RollingFilename="warn"fileName="${path}/warn.log"filePattern="${path}/warn-%d{yyyy-MM-dd}_%i.log"><PatternLayoutpattern="${pattern}"/><SizeBasedTriggeringPolicysize="50MB"/><Filters><!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--><ThresholdFilterlevel="warn"onMatch="ACCEPT"onMismatch="DENY"/></Filters></RollingFile></Appenders><Loggers><Loggername="TestWebService"level="TRACE"/><Rootlevel="debug"><AppenderRefref="Console"/><!--仅有上述的Appenders配置还不够,这里还不能少,少了就不会在控制台输出--><AppenderRefref="warn"/><AppenderRefref="debug"/><!--仅有上述的Appenders配置还不够,这里还不能少,少了就不会写入文件,但会创建文件--></Root></Loggers></configuration>

    测试代码

    importfnklAxiService.FnklAxiServiceServiceLocator;importfnklAxiService.FnklAxiService_PortType;importorg.junit.Before;importorg.junit.Test;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importjavax.xml.rpc.ServiceException;importjava.rmi.RemoteException;/***@authorJalena*@version1.0*/publicclassTestWebService{privatefinalLoggerlogger=LoggerFactory.getLogger(getClass());privateFnklAxiService_PortTypeservice;@Beforepublicvoidbefore(){FnklAxiServiceServiceLocatorlocator=newFnklAxiServiceServiceLocator();try{service=locator.getfnklAxiService();}catch(ServiceExceptione){logger.warn(e.getCause().getMessage());}}@TestpublicvoidselectRacks()throwsServiceException,RemoteException{Strings=service.selectRacks("3181804100059#100");logger.info(s);}}

     

    slf4j本身的依赖呢

    从来都不是依赖和配置的问题,是你运行代码的classpath没设好,所以才报noclassdefound

    引用来自“polly”的评论

    slf4j本身的依赖呢

    引用来自“polly”的评论

    slf4j本身的依赖呢
    2020-06-08 10:39:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
MaxCompute Logview参数详解和问题排查(废弃) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载