           try
             #pg = HTTP.call('GET', url, {timeout:15000, npmRequestOptions:{proxy:API.settings.proxy}}).content
             pg = if url.indexOf('.xml.serialssolutions') isnt -1 or url.indexOf('sfx.response_type=simplexml') isnt -1 then HTTP.call('GET',url).content else API.http.puppeteer url #, undefined, API.settings.proxy
+            console.log pg
             spg = if pg.indexOf('<body') isnt -1 then pg.toLowerCase().split('<body')[1].split('</body')[0] else pg
-            #console.log spg
+            console.log spg
             res.contents.push spg
-          catch
-            API.log 'ILL subscription check error when looking up ' + url
+          catch err
+            console.log(err) if API.settings.log?.level is 'debug'
+            API.log {msg: 'ILL subscription check error when looking up ' + url, level:'warn', url: url, error: err}
             error = true
           #res.u ?= []
           #res.u.push url

          # we also have an xml alternative for serials solutions
          # see https://journal.code4lib.org/articles/108
          else if subtype is 'serialssolutions' or url.indexOf('serialssolutions.') isnt -1
            res.error.push 'SerialsSolutions' if error
            if do_serialssolutions_xml is true
              if spg.indexOf('<ssopenurl:url type="article">') isnt -1
                fnd = spg.split('<ssopenurl:url type="article">')[1].split('</ssopenurl:url>')[0].trim() # this gets us something that has an empty accountid param - do we need that for it to work?

                        res.url = undefined
                        res.findings.serials = undefined
                catch
                  res.error.push 'serialssolutions' if error

    API.http.cache(sig, 'oab_ill_subs', res) if not _.isEmpty res.findings
    
