But will any application use the logger named "javax.net.debug"? I think that's 
only for JSSE.

> On Jun 7, 2018, at 9:35 AM, Xuelei Fan <xuelei....@oracle.com> wrote:
> 
> I see your concerns now.  Currently, we don't fine the format if using System 
> logger.  Applications can define the format and output style for themselves 
> if needed.  That's also the purpose why we introduce the System Logger in the 
> provider.
> 
> Xuelei
> 
> On 6/6/2018 6:10 PM, Weijun Wang wrote:
>> I assume this output is for the internal SSLLogger. I was asking what would 
>> be printed if someone only set "-Djavax.net.debug" and a System logger is 
>> used.
>> --Max
>>> On Jun 7, 2018, at 8:54 AM, Xuelei Fan <xuelei....@oracle.com> wrote:
>>> 
>>> 
>>> 
>>> On 6/6/2018 5:46 PM, Weijun Wang wrote:
>>>>> On Jun 7, 2018, at 8:41 AM, Xuelei Fan <xuelei....@oracle.com> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>> On 6/6/2018 4:21 PM, Weijun Wang wrote:
>>>>>>> On Jun 7, 2018, at 12:27 AM, Xuelei Fan <xuelei....@oracle.com> wrote:
>>>>>>> 
>>>>>>> On 6/6/2018 5:41 AM, Weijun Wang wrote:
>>>>>>>> There are lots of calls like
>>>>>>>>    RSAClientKeyExchangeMessage ckem =
>>>>>>>>            new RSAClientKeyExchangeMessage(shc, message);
>>>>>>>>    if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
>>>>>>>>        SSLLogger.fine(
>>>>>>>>            "Consuming RSA ClientKeyExchange handshake message", ckem);
>>>>>>>>    }
>>>>>>>> which finally calls to
>>>>>>>>    String formatted =
>>>>>>>>         SSLSimpleFormatter.formatParameters(params);
>>>>>>>>    logger.log(level, msg, formatted);
>>>>>>>> Now that msg contains no placeholder likes "{0}", nothing on temporary 
>>>>>>>> will be shown.
>>>>>>> I did not catch you here. SSLSimpleFormatter is a package private class 
>>>>>>> (SSLLogger#SSLSimpleFormatter), which does not use placeholder in msg.
>>>>>> I see.
>>>>>> BTW, at the beginning of SSLLogger, there is
>>>>>> String p = GetPropertyAction.privilegedGetProperty("javax.net.debug");
>>>>>> if (p != null) {
>>>>>>     if (p.isEmpty()) {
>>>>>>         property = "";
>>>>>>         logger = System.getLogger("javax.net.ssl");
>>>>>>     } else {
>>>>>> Will this "p.isEmpty()" ever happen? I cannot find a place when only 
>>>>>> SSLLogger.isOn is checked but not SSLLogger.isOn("something").
>>>>> If p.isEmpty(), SSLLogger.isOn("something") always returns true.  It 
>>>>> means that 'something" (ssl, handshake, etc) is not used to control the 
>>>>> debug level any more.  Instead, the System.Logger levels (FINE, WARNING, 
>>>>> etc) get used instead.
>>>> And in this case, what would
>>>>>>>>        SSLLogger.fine(
>>>>>>>>            "Consuming RSA ClientKeyExchange handshake message", ckem);
>>>> print out?
>>> If Level.DEBUG is enabled, the printout may look like (I use the DH 
>>> ClientkeyExchange handshake message as I happen to have the debug log in 
>>> hand):
>>> 
>>> javax.net.ssl|DEBUG|01|main|2018-06-06 17:49:38.624 
>>> PDT|DHClientKeyExchange.java:271|Consuming DH ClientKeyExchange handshake 
>>> message (
>>> "DH ClientKeyExchange": {
>>>  "parameters": {
>>>    "dh_Yc": {
>>>      0000: 4E 8B 14 6B E7 D6 EB BF   8C 69 C6 03 5D D0 EA 10 
>>> N..k.....i..]...
>>>      0010: F9 B6 37 89 B5 50 67 3B   A0 3B 18 2C EE 99 87 D5 
>>> ..7..Pg;.;.,....
>>>      0020: D8 61 62 D1 5F 97 66 6B   27 03 19 6C 6D DE 91 07 
>>> .ab._.fk'..lm...
>>>      0030: E1 A8 AC D7 30 55 2C 86   A1 D1 9C 98 BF DF 83 3E 
>>> ....0U,........>
>>>      0040: 34 1F 7C F0 AC 87 BC 5E   D4 E9 99 33 2C D0 79 20 4......^...3,.y
>>>      0050: B5 66 12 95 84 66 50 24   5D F6 C9 1A D0 18 8C A9 
>>> .f...fP$].......
>>>      0060: 9A EC E5 59 5C FE 57 31   66 CE BF FD E2 61 4B 5D 
>>> ...Y\.W1f....aK]
>>>      0070: A5 49 94 0B CC 30 BA 0A   16 D9 0A B3 19 EE 58 C7 
>>> .I...0........X.
>>>      0080: E4 D1 22 9E 1D 9A 43 57   D0 B8 B6 87 02 A0 42 D3 
>>> .."...CW......B.
>>>      0090: A1 66 EB 04 5F 5F B7 3F   1F B9 1A 23 D1 79 A6 01 
>>> .f..__.?...#.y..
>>>      00A0: 9F CE 65 EE CD 04 B7 1A   38 2E 2A 7B F3 0E F6 F8 
>>> ..e.....8.*.....
>>>      00B0: 5F D3 8F E5 5E 83 89 FD   97 17 9D C4 81 99 9A AB 
>>> _...^...........
>>>      00C0: 83 EC E5 C5 68 0A E2 D5   CF D0 70 D9 D5 BE C4 16 
>>> ....h.....p.....
>>>      00D0: 37 E2 2D 86 2C 53 95 C8   D9 EE 9F E4 32 35 DE FE 
>>> 7.-.,S......25..
>>>      00E0: D8 5D 78 BC 6E 2C 98 90   03 0B F4 CF 36 20 6E F1 .]x.n,......6 
>>> n.
>>>      00F0: F9 3B 05 C1 3E 17 2A 7B   11 39 6D 59 82 A8 61 9C 
>>> .;..>.*..9mY..a.
>>>    },
>>>  }
>>> }
>>> )
>>> 
>>> Xuelei

Reply via email to