amperity / dialog

Simple just-enough logging library for Clojure
MIT License
39 stars 2 forks source link

io.aviso/pretty was moved to https://github.com/clj-commons/pretty #38

Open ieugen opened 1 month ago

ieugen commented 1 month ago

Hi,

I was getting an exception and during research I noticed the package was updated and moved to new coordinates.

https://github.com/clj-commons/meta/issues/75

Exception in thread "aleph-netty-server-event-pool-2" Exception in thread "aleph-netty-server-event-pool-1" java.lang.NoClassDefFoundError: io/aviso/ansi$red
    at dialog.format.pretty$format_level.invokeStatic(pretty.clj:77)
    at dialog.format.pretty$formatter$format_message__3777.invoke(pretty.clj:146)
    at dialog.logger$write_output_BANG_.invokeStatic(logger.clj:250)
    at dialog.logger$log_event$write_event__4017.invoke(logger.clj:277)
    at clojure.core$run_BANG_$fn__8880.invoke(core.clj:7784)
    at clojure.core.protocols$iter_reduce.invokeStatic(protocols.clj:49)
    at clojure.core.protocols$fn__8230.invokeStatic(protocols.clj:75)
    at clojure.core.protocols$fn__8230.invoke(protocols.clj:75)
    at clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)
    at clojure.core$reduce.invokeStatic(core.clj:6887)
    at clojure.core$run_BANG_.invokeStatic(core.clj:7779)
    at dialog.logger$log_event.invokeStatic(logger.clj:279)
    at dialog.logger$_log_slf4j.invokeStatic(logger.clj:282)
    at dialog.logger$_log_slf4j.invoke(logger.clj:282)
    at clojure.lang.Var.invoke(Var.java:399)
    at dialog.logger.DialogLogger.logMessage(DialogLogger.java:170)
    at dialog.logger.DialogLogger.warn(DialogLogger.java:517)
    at io.netty.util.internal.logging.Slf4JLogger.warn(Slf4JLogger.java:151)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:992)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at manifold.executor$thread_factory$reify__23125$f__23126.invoke(executor.clj:47)
    at clojure.lang.AFn.run(AFn.java:22)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: io.aviso.ansi$red
ieugen commented 1 month ago

I've checked and we have the jar on the classpath:

root@lsdev_ontolog-1-lsdev3:/ontolog/tmp# unzip pretty-1.3.jar 
Archive:  pretty-1.3.jar
  inflating: META-INF/MANIFEST.MF    
   creating: io/
   creating: io/aviso/
   creating: META-INF/maven/
  inflating: io/aviso/component.clj  
  inflating: io/aviso/binary.clj     
  inflating: io/aviso/repl.clj       
  inflating: io/aviso/lein_pretty.clj  
  inflating: io/aviso/exception.clj  
  inflating: io/aviso/logging.clj    
  inflating: io/aviso/clipboard.clj  
  inflating: io/aviso/ansi.clj       
  inflating: io/aviso/columns.clj    
   creating: META-INF/maven/io.aviso/
   creating: META-INF/maven/io.aviso/pretty/
  inflating: META-INF/maven/io.aviso/pretty/pom.xml  
  inflating: META-INF/maven/io.aviso/pretty/pom.properties
ieugen commented 1 month ago

It seems version 3 of pretty seems to provide a hiccup inspired API for formatting text.

https://cljdoc.org/d/org.clj-commons/pretty/3.0.0/api/clj-commons.ansi#compose .

https://github.com/clj-commons/pretty/blob/main/test/clj_commons/ansi_test.clj