<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><br></div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Brian Goetz" <brian.goetz@oracle.com><br><b>To: </b>"Robbe Pincket" <robbepincket@live.be>, "David Alayachew" <davidalayachew@gmail.com>, "Remi Forax" <forax@univ-mlv.fr><br><b>Cc: </b>"amber-dev" <amber-dev@openjdk.org><br><b>Sent: </b>Monday, July 24, 2023 3:38:43 PM<br><b>Subject: </b>Re: Presentation at JCrete.org<br></blockquote></div><div data-marker="__QUOTED_TEXT__"><div><br data-mce-bogus="1"></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;">
    <div class="moz-cite-prefix">On 7/24/2023 8:26 AM, <a class="moz-txt-link-abbreviated" href="mailto:forax@univ-mlv.fr" target="_blank">forax@univ-mlv.fr</a>
      wrote:<br>
    </div>
    <blockquote cite="mid:1158621703.2630607.1690201588943.JavaMail.zimbra@univ-eiffel.fr">
      <div><br>
      </div>
      <div>The problem of <span lang="EN-GB">logger.info(LOG.”value:
          \{value}”)</span> is that the logger receive a string, not a
        string template</div>
    </blockquote>
    <br>
    No, not necessarily.  LOG can be a (purely functional)
    TemplateProcessor<LogMsg>, which defers rendering the string
    until it is actually logged:<br>
    <br>
        logger.info(LogMsg msg)<br>
    <br>
    Then you have a free choice over where to put the validation (in
    LOG, or in the logger.)  </blockquote><div><br></div><div>If the validation is in LOG, it means you can bypass the validation.<br data-mce-bogus="1"></div><div>And If the validation is in logger, then LogMsg really looks like the same abstraction as StringTemplate.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>hence</div><div>  logger.info().<span lang="EN-GB">”value: \{value}”;</span><br data-mce-bogus="1"></div><div><span lang="EN-GB"><br data-mce-bogus="1"></span></div><div><span lang="EN-GB">Rémi<br data-mce-bogus="1"></span></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br></div><div><br data-mce-bogus="1"></div></div></div></body></html>